私は次のような問題があります。クラスのインスタンス
template< typename T, size_t N, size_t... N_i >
struct A
{
// nested class
template< typename... Ts >
class B
{
//...
A<T, N_i...>::B<Ts...> operator[](size_t i)
{
A< T, N_i...>::B<Ts...> res{ /* ... */ };
return res;
}
// ...
};
};
は残念ながら、コンパイラは「A < T, N_i...>::B <Ts...> res{ /* ... */ };
」のエラーを生成します。誰も私がclass B
のインスタンス化を返す方法を知っていますか(彼の外側のテンプレート引数ではです)、 "operator[]
"はclass B
ですか?
事前に感謝します。
申し訳ありませんが、わかりません。あなたの答えの '演算子[]'は何を返しますか? 'A :: B 'または 'A :: B '?私が正しく理解していれば、OPは 'A :: B ' –
max66
をもう一度お聞きします。「完全型の前に 'namespace'を置く」とはどういう意味ですか? – max66
@ max66もう一度ありがとう。 – xaxxon