我在尝试提交我的作业警告时继续收到此警告:与字符串文字比较导致未指定的行为[-Waddress]

时间:2018-02-19 02:33:26

标签: c++ space

真正让我感到不安的是,这适用于Visual Basic而不是我糟糕的学校服务器:(。

注意Mdestination和Mname是指针

    if (Mdestination != nullptr && Mname != nullptr && Mname != "" && Mdestination != "") {
        strcpy_s(name, Mname);
        strcpy_s(destination, Mdestination);

    }


}

1 个答案:

答案 0 :(得分:0)

我相信你在这里将指针算术与字符串操作混合在一起。

Mname != ""

上面一行检查指针Mname和文字""不在同一个地址。我相信你的意图是检查Mname是否指向空字符串。在这种情况下,您可以使用

*Mname != '\0' // NUL could also be used instead of '\0'

与Mdestination相同。