好的,这是我的代码。我有一个名为employee的结构,它有一个成员char *名称。如何更改名称的值?

struct employee {
    char* name;
    int age;
};

int main()
{
    struct employee james;
    james.age=12; // this line is fine
    james.name = "james"; // this line is not working
    cout << james.name;
    return 0;
}

最佳答案

使用std::string代替char *指针,它将正常工作

#include <iostream>
#include <string>

struct employee {
     std::string name;
     int age;
};
int main() {
     employee james;
     james.age=12;
    james.name = "james";

    std::cout << james.name;

    return 0;
}

要么
如果要使用char *指针,请使用const char* name它将起作用。
#include <iostream>
struct employee {
     const char* name;
     int age;
 };

int main() {
     employee james;
     james.age=12;
     james.name = "james";
     std::cout << james.name;

return 0;
}

关于c++ - 在C++中具有指向成员的指针的结构,如何访问它,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54359166/

10-12 20:39