0
次のコードの最初のif文の式にエラー(識別子 "isEqualTo"は未定義です)が発生します。与えられたコードのエラー(識別子は未定義です)の取得
'template <typename T>
T isEqualTo<bool>(T arg1, T arg2)
{
if (arg1 == arg2)
return true;
else
return false;
}
int main()
{
int i1 = 1, i2 = -1, i3 = 2, i4 = 4;
cout << "*** Integers Tests ***\n";
if (isEqualTo(i1, i1))
cout << "Integers: " << i1 << " and " << i1 << " are equal\n";
else
cout << "Integers: " << i1 << " and " << i1 << " are \"Not\" equal\n";
if (isEqualTo(i3, i4))
cout << "Integers: " << i3 << " and " << i4 << " are equal\n";
else
cout << "Integers: " << i3 << " and " << i4 << " are \"Not\" equal\n";'
私が間違っていることを誰かに教えてもらえますか?どのように修正できますか?
はい。ここには「」を含めてはいけません。コンパイラはそれをインスタンス化し、実際の引数の型からTを決定します。 –
gdlmx
私はそれをインクルードしないと、自分の引数がユーザ定義のクラスのオブジェクトであるif文にエラー(式がbool型でなければならない)を得る。 –