简单的问题,这是有效的 C++:
class Foo
{
void Foo::doSomething();
};
问题的重点:在类声明中重复使用类名和方法名之前的双冒号是否有效?
我在使用 g++ 4.2.3 编译执行此操作的代码时遇到问题。在深入研究和更改代码之前,我希望看到对此处描述语法的内容的引用。或者降级编译器;这确实使用 g++ 3.3.6 构建。
我得到的错误是(大致):
Foo.h:3: error: extra qualification ‘Foo::’ on member ‘doSomething’
我做了谷歌,但想不出什么。我没有标准,即使我这样做了,我也可能需要很长时间才能找到权威的东西。我不是 C++ 语言律师。