C++ 指向静态的指针
类C++ 指向静态的指针,c++,arrays,string,pointers,C++,Arrays,String,Pointers,类Student有一个静态成员Year,它是指向应指向动态分配数组的std::string的指针 class Student { private: string name; int year; string semester; int AmtClass; static string *Year[4]; //Skipping the public members }; string *Student::Year[4] = { "Freshman"
Student
有一个静态成员Year
,它是指向应指向动态分配数组的std::string
的指针
class Student
{
private:
string name;
int year;
string semester;
int AmtClass;
static string *Year[4];
//Skipping the public members
};
string *Student::Year[4] = { "Freshman", "Sophomore", "Junior", "senior" };
尝试初始化年份时出现问题
:
ERROR: Cannot convert 'const char*' to 'std::string*' in initialization
为什么我会出错
struct A
{
static std::string *cohort;
};
std::string * A::cohort = new std::string[4];
不清楚为什么要动态分配阵列。你可以用
std::array
或std::dynarray
当你更新你的帖子时,你应该
std::string * Student::Year = new std::string[4] { "Freshman", "Sophomore", "Junior", "senior" };
或
你真的需要弄清楚你在问什么。就目前情况而言,这并没有太大意义。您不理解错误消息的哪一部分?
struct Student
{
static std::string Year[];
};
std::string Student::Year[4] = { "Freshman", "Sophomore", "Junior", "senior" };