问题描述
- 求大神指点C++ template使用问题
这是程序代码
这是编译结果我想试试用template写一个返回较小值的方法,但是为什么会出错呢?
还想请教的问题是如果用Mac的话,在terminal中编译和用Xcode编译有区别吗?谢谢
解决方案
#include <iostream>using namespace std;template <typename T>T min(T &a T &b){ return a > b ? b : a;}int main(){ int i = 1 j = 2; int result = min(i j); cout << result;}
解决方案二:
换个名字,不要用min跟系统的冲突了。
解决方案三:
1.在错误提示中,写出了,在c++/v1/algorithm文件的2544行处已经也有一个min的定义,所以引起了歧义。
2.你提的在终端编译是不是使用g++来编译的,或者使用Makefile(文件中用g++或其它)来编译的。
终端编译你可以自己修改编译选项,用xcode编译的话,xcode软件本身会自动加一些编译选项,当然也可以通过设置修改。
最终编译成功之后的可执行文件,都一样的可执行二进制文件。
时间: 2024-12-20 21:48:38