以下代码是一个假设代码。这是g ++(4.2.1)下的完全有效的代码。当与编译锵++(4.2)它通过改变myclass::myclass*
到myclass*
产生误差作为qualified reference to 'myclass' is a constructor name rather than a type wherever a constructor can be declared
将g ++代码移植到Clang ++问题
class myclass
{
public:
myclass() { }
~myclass() {}
};
myclass::myclass* funct() {
return new myclass();
}
我可以解决此问题。不过,我不希望更改任何代码。是否有任何我可以提供的命令行标志,以便像使用Clang ++一样编译此代码?
代码不符合标准的方式是让我很惊讶,它编译于G ++ st所有。我会改变它。 – programmerjake 2014-08-27 21:54:02
'myclass'是一种类型。 'myclass :: myclass'不是。 – 2014-08-27 21:55:12
g ++ 4.2.1是什么,7岁? – 2014-08-27 22:12:02