私はコードを機能として表示するチュートリアルで見つけたこのベクトルを使用しようとしています。しかし私のプロジェクトでそれを使用しようとすると、 "エラーC3211: 'vector :: vecarg':明示的な特殊化は部分的な特殊化構文を使用しています。代わりに<>テンプレートを使用してください"明示的な特殊化は部分的な特殊化構文を使用しています
エラーのあるセクション
template< class ta_a >
class vecarg
{
const ta_a& Argv;
public:
inline vecarg(const ta_a& A) : Argv(A) {}
inline const float Evaluate(const int i) const
{
return Argv.Evaluate(i);
}
};
template< class ta_a>
class vecarg< const float >
{
const ta_a& Argv;
public:
inline vecarg(const ta_a& A) : Argv(A) {}
inline const float Evaluate(const int i) const
{
return Argv;
}
};
template< class ta_a >
class vecarg< const int >
{
const ta_a& Argv;
public:
inline vecarg(const ta_a& A) : Argv(A) {}
inline const float Evaluate(const int i) const
{
return (float)Argv;
}
};
私は
template< >
class vecarg< const float >
{
const ta_a& Argv;
に変更することでこのエラーを修正した場合、その後にエラーが "識別子 'ta_aが' 未定義である"
解決策に関する提案は高く評価されています。
'const ta_a & Argv;'は 'const float & Argv;' –
にする必要がありますエラーメッセージはそれを修正する方法を教えてくれませんか? –
_ "編集:一度修正すると新しいエラーが発生します。" _それをしないでください。質問ごとに1つの質問。 –