次のコードでは苦労します。基本的に、クラスFooとネストされたクラスBarがあり、今はクラスオブジェクトのクラスのポインターを関数に渡したいが、コンパイルしない。誰も私にこれを手伝ってもらえますか?ありがとうございました。テンプレート関数をパラメータとして使用するC++テンプレート関数
template <typename T>
struct Foo
{
struct Bar
{
T data_;
};
Bar bar_;
};
template <typename T>
void func(Foo<T>::Bar* bar) // Why is this line wrong???
{
}
int main()
{
Foo<int> foo;
foo.bar_.data_ = 17;
func(&foo.bar_);
return 0;
}
の可能複製([C++、テンプレート引数を推定することはできません] http://stackoverflow.com/questions/6060824/c-template-argument-canとして-not-be-deduced) –
(VC++はおそらくいつものようにスリップさせるはっきりとした 'typename'問題を少なくとも一度は二重に解決する) –