当前位置: 技术问答>linux和unix
在vc下可以编译通过的C++代码,可是拿到gcc下去编就失败
来源: 互联网 发布时间:2015-10-16
本文导语: 代码其实很简单 #include using namespace std; template class mylist { public: add(T* param) { m_list.pop_back(param); } protected: list m_llist; }; class test { public: void foo() {} }; void main() { mylist ml; ml.add(new test()); } 在VC下可正常通过,但...
代码其实很简单
#include
using namespace std;
template
class mylist
{
public:
add(T* param)
{
m_list.pop_back(param);
}
protected:
list m_llist;
};
class test
{
public:
void foo() {}
};
void main()
{
mylist ml;
ml.add(new test());
}
在VC下可正常通过,但是在gcc下被告知list接受的不能接受T*的模板参数?
到底怎么回事啊。。。是不是我哪里没有做好配置,还是gcc本身不支持如此简单的 C++特性?
#include
using namespace std;
template
class mylist
{
public:
add(T* param)
{
m_list.pop_back(param);
}
protected:
list m_llist;
};
class test
{
public:
void foo() {}
};
void main()
{
mylist ml;
ml.add(new test());
}
在VC下可正常通过,但是在gcc下被告知list接受的不能接受T*的模板参数?
到底怎么回事啊。。。是不是我哪里没有做好配置,还是gcc本身不支持如此简单的 C++特性?
|
不是用g++编译c++程序么?
|
我觉得你可以使用typedef来看看将类型重新定义是否有用;
别外,有时候前后需要加空格;
别外,有时候前后需要加空格;
|
是不是stl库或者编译器版本的问题
|
以前我也碰到过类似问题的
|
你用的gcc什么版本?vc是7吧