0

この行でエラーが発生するのはなぜですか?

void Student::SetName(const string newName)
{
 if(newName!=NULL) //could not deduce template argument for 'const T1 *' from 'int'
{
     .....
}

何か案は?

4

2 に答える 2

2

可能な解決策 :

if(!newName.empty())

if(newName.size()) // If size = 0 so no caracters in string

if(newName == "") // Empty string
于 2012-04-15T16:44:03.627 に答える
1

これはC#ではありません。C++の文字列はnull許容型ではありません。実際にNULLになることができるのはポインターのみです。ポインターを使用している場合を除いて、C++で基本的な値を割り当てずに変数を定義することはできません。

コードはおそらく次のようになります。

if(!newName.empty())
    ....
于 2012-04-15T16:37:03.903 に答える