C++ 无法访问类中的常量静态成员
我已经阅读了这份文件 并尝试在我的编译器中测试,这里的所有内容是否都是代码的副本C++ 无法访问类中的常量静态成员,c++,C++,我已经阅读了这份文件 并尝试在我的编译器中测试,这里的所有内容是否都是代码的副本 #include <iostream> #include <string> using namespace std; class MyClass { public: const static char* MyClass::enumText[]; }; const char* MyClass::enumText={"a","b","c","d"}; int main(){
#include <iostream>
#include <string>
using namespace std;
class MyClass {
public:
const static char* MyClass::enumText[];
};
const char* MyClass::enumText={"a","b","c","d"};
int main(){
std::cout<<MyClass::enumText[0]<<endl;
return 0;
}
我用Visual C++ 2010,为什么这样的错误是什么?请帮助< /p> ,应该是:
const char* MyClass::enumText[]={"a","b","c","d"};
// You forgot these ^^
我认为您只是缺少了enumText定义末尾的[](就在={…。您忘记了变量定义中的
[]
:const char*MyClass::enumText[]={“a”、“b”、“c”、“d”};
您缺少了[]。应该是这样的
const char*MyClass::enumText[]={“a”、“b”、“c”、“d”};
#包括
#包括
使用名称空间std;
类MyClass
{
公众:
常量静态字符*枚举文本[];
};
const char*MyClass::enumText[]={“a”、“b”、“c”、“d”};
int main()
{
很抱歉,伙计们,我今天累了,犯了个很酷的错误,对不起,我错过了括号。这不应该是{'a','b','c','d'};
?没关系,我明白了,他现在想要的是char
指针数组,而不是char
数组。不过,我还是把这个放在一边,以防其他人被搞砸了。
const char* MyClass::enumText[]={"a","b","c","d"};
// You forgot these ^^
#include <iostream>
#include <string>
using namespace std;
class MyClass
{
public:
const static char* enumText[];
};
const char* MyClass::enumText[] = {"a","b","c","d"};
int main()
{
std::cout<<MyClass::enumText[0]<<endl;
return 0;
}