我試圖調用模板化函數內的矢量成員上的靜態函數。但我無法讓代碼工作。我得到的錯誤:'做'不是'__gnu_cxx :: __ alloc_traits> :: value_type的成員& {aka A &}'有什麼想法?在模板化容器成員上調用類功能
struct A {
static void Do() { cout << "Hey.\n"; }
};
template <typename T>
void foo(T* v) {
decltype(v->at(0))::Do();
}
int main() {
vector<A> v;
foo(&v);
return 0;
}
行,這已經在這裏得到了解答:https://stackoverflow.com/questions/44189845/stdvector-insert-without-knowing-the-type-of-the-elements?noredirect=1#comment75393783_44189845 –
所以你爲什麼問如果你以前的問題(40分鐘前)得到了這個問題的有效答案,這是否也是如此?其實來自同一個人再次回答。 – Walter