【发布时间】:2014-08-27 21:50:39
【问题描述】:
以下代码是假设代码。这是 g++ (4.2.1) 下完全有效的代码。当使用 Clang++ (4.2) 编译时,它会产生错误qualified reference to 'myclass' is a constructor name rather than a type wherever a constructor can be declared
class myclass
{
public:
myclass() { }
~myclass() {}
};
myclass::myclass* funct() {
return new myclass();
}
我可以通过将 myclass::myclass* 更改为 myclass* 来解决此问题。但是,我预计不会更改任何代码。有没有我可以提供的命令行标志,以便像使用 Clang++ 一样编译此代码?
【问题讨论】:
-
代码不符合标准,所以我很惊讶它在 g++ st all 上编译。我会改变它。
-
myclass是一种类型。myclass::myclass不是。 -
g++ 4.2.1是什么,7岁了?
标签: c++ g++ clang++ llvm-clang