私は、テンプレート関数内のベクトルのメンバに対して静的関数を呼び出そうとしています。しかし、私はコードを動作させることはできません。私はエラーが表示されます: 'Do'は '__gnu_cxx :: __ alloc_traits> :: value_typeのメンバーではありません& {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;
}
OK、これはここで答えられました:https://stackoverflow.com/questions/44189845/stdvector-insert-without-knowing-the-type-of-the-elements?noredirect=1#comment75393783_44189845 –
なぜあなたは質問していますかこれはあなたの前の質問(40分早く)でもこれに有効な答えが得られたかどうか?同じ人から実際にここに返信しています。 – Walter