严重性 代码 说明 项目 文件 行 禁止显示状态错误 C2440 “=”: 无法从“const char [7]”转换为“char *” Cplusplus D:\study\Cplusplus01

原代码:

#include 
using namespace std;

//类通常定义在函数外面
class Student {
public:
    //类包含的变量
    char* name;
    int age;
    float score;
    //类包含的函数
    void say() {
        cout << name << "的年龄是" << age << ",成绩是" << score << endl;
    }
};

int main() {
    //创建对象
    Student stu;
    stu.name = "小明";
    stu.age = 15;
    stu.score = 92.5f;
    stu.say();

    return 0;
}

修改后代码:

#include 
using namespace std;

//类通常定义在函数外面
class Student {
public:
    //类包含的变量
    const char* name;
    int age;
    float score;
    //类包含的函数
    void say() {
        cout << name << "的年龄是" << age << ",成绩是" << score << endl;
    }
};

int main() {
    //创建对象
    Student stu;
    stu.name = "小明";
    stu.age = 15;
    stu.score = 92.5f;
    stu.say();

    return 0;
}

原因:

在 C 中,字符串文字的类型是数组char,但在C++,它是数组const char。 

你可能感兴趣的:(c++,算法,开发语言)