unw*_*ind 4 c++ syntax declaration classname
简单的问题,这是有效的C++:
class Foo
{
void Foo::doSomething();
};
Run Code Online (Sandbox Code Playgroud)
这个问题的观点:是重复使用的类名和双冒号的方法名前有效的内部类的声明?
我在编译使用g ++ 4.2.3执行此操作的代码时遇到问题.在挖掘和更改代码之前,我很想看到对这里描述语法的内容的引用.或者降级编译器; 这确实是用g ++ 3.3.6构建的.
我得到的错误是(大致):
Foo.h:3: error: extra qualification ‘Foo::’ on member ‘doSomething’
Run Code Online (Sandbox Code Playgroud)
我做了谷歌,但无法想出一些东西.我没有标准,即使我这样做也可能需要一段时间才能找到任何权威的东西.我不是C++语言律师.
小智 5
像丹一样,我看了标准没有明确的结果。我用Comeau 的在线编译器(被认为是世界上最符合标准的)尝试了你的代码,并得到:
第 3 行:错误:成员声明中不允许使用限定名称
如果您有兴趣进一步讨论,我建议在comp.lang.c++.moderated新闻组上发布问题,因为那里的 C++ 语言律师比这里多得多。