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,除非您使用指针,否则您不能定义一个变量而不在 C++ 中为其分配一些基本值。

您的代码应该如下所示:

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