以下代碼是一個假設代碼。這是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