namespace fooo {
class Fooo {
public:
int a;
};
}
namespace fooo {
class Test {
public:
Test(Fooo::Fooo *i) {
i->a = 1;
}
};
}
此代码使用clang(任何版本)编译良好但使用gcc失败。 任何人都可以解释原因吗?
编辑: 是的,我知道这里的问题有点明显但为什么clang会接受它?告诉我这个的人说这是标准中的一个错误,并且有一个缺陷报告。任何人都可以指出实际的DR吗?
答案 0 :(得分:0)
来自gcc的错误消息可以准确地告诉您问题所在:
t.cpp:11:16: error: ‘fooo::Fooo::Fooo’ names the constructor, not the type
Test(const Fooo::Fooo *i) {
^
令人惊讶的是,clang没有给出错误。