warning: ISO C++11 does not allow conversion from string literal to 'char *'

c++ 中写了一个函数:

char *HdmiCecControl::getResult(int r)
{
    switch (r) {
        case HDMI_RESULT_SUCCESS:
            return "success";
        case HDMI_RESULT_NACK:
            return "no ack";
        case HDMI_RESULT_BUSY:
            return "busy";
        case HDMI_RESULT_FAIL:
            return "fail other";
        default:
            return "unknown fail code";
    }
}

编译的时候会报如下错误:

warning: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]


将返回值char * 改成const char * 就好了。

这个warning 提示应该是不能将string 文本 转换成char *

你可能感兴趣的:(C++)