1
這工作正常:如果我嘗試做相同的靜態多態性爲什麼我無法訪問靜態多態派生類中的受保護成員?
class A{
protected:
int i;
};
class B:public A{
public:
void f(){
i=5; //fine
}
};
但是,它未能:
template <class Derived, typename T, int N>
class Vector{
protected:
std::vector<T> v;
然後:
template <typename T, int N>
class Vector234:public Vector<Vector234<T, N>,T,N>{
void test(){
T t=v[0]; // v is undeclared identifier
}
這是爲什麼?
這是解決的問題http://stackoverflow.com/questions/1624564/access-protected-member-of-a-class-in-a-derived-class和http://stackoverflow.com/questions/ 11405/GCC-問題使用-A-構件對的一個鹼基類 - 即-取決於-ON-A-模板參數的 – sfstewman