模板類具有靜態構件foo
訪問模板基類的靜態成員。
template <typename... T>
struct A {
static constexpr bool foo = true;
};
試圖訪問foo的templaed派生類。
template <typename... T>
struct B : A<T...> {
void yo() {
std::cout << foo << '\n';
}
};
這失敗了。誰能解釋爲什麼?我可以通過直接訪問它來解決它,如A<T...>::foo
但如果B有自己的靜態變量隱藏foo?
如果第三方/主要只通過模板知道A或B說TClass
,他們如何在不知道內部件的情況下訪問TClass::foo
?
原樣,'foo'是一個非從屬名稱,你也可以使用'這 - > foo'使其依賴。 – Jarod42