template <typename T>
class Foo{
private:
class Bar{
};
};
template <typename T>
void Fun(const Foo<T> &f){
Foo<int>::Bar b; //This line of code.
}
int main(){
Foo<int> f;
Fun(f);
return 0;
}
g ++指出Foo<int>::Bar
不可访问,而g ++可以毫无错误地进行编译。
g ++:https://wandbox.org/permlink/9scQUmfVLQU6IM0J
lang声:https://wandbox.org/permlink/dQm9VcsZURbjxrFZ
g ++有什么问题?我非常信任它。我应该改为使用Clang进行学习吗?