为什么我会收到此行的错误?
void Student::SetName(const string newName)
{
if(newName!=NULL) //could not deduce template argument for 'const T1 *' from 'int'
{
.....
}
有什么想法吗?
答案 0 :(得分:2)
可能的解决方案:
if(!newName.empty())
if(newName.size()) // If size = 0 so no caracters in string
if(newName == "") // Empty string
答案 1 :(得分:1)
这不是C#,C ++中的字符串不是可空类型。只有指针实际上可以是NULL,你不能定义一个变量而不在C ++中为它赋予一些基本值,除非你使用指针。
您的代码应该如下所示:
if(!newName.empty())
....