【问题标题】:Unable to access const static members in class无法访问类中的 const 静态成员
【发布时间】:2010-08-20 18:13:14
【问题描述】:

我已阅读此文档 Initializing static array of strings (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(){

    std::cout<<MyClass::enumText[0]<<endl;


    return 0;
}

但这里有错误

1>c:\users\david\documents\visual studio 2010\projects\class_static\class_static.cpp(9): error C2372: 'enumText' : redefinition; different types of indirection
1>          c:\users\david\documents\visual studio 2010\projects\class_static\class_static.cpp(7) : see declaration of 'enumText'
1>c:\users\david\documents\visual studio 2010\projects\class_static\class_static.cpp(9): error C2078: too many initializers

我正在使用visual c++ 2010,为什么会出现这样的错误?请帮忙

【问题讨论】:

  • 哎呀,对不起,伙计们,我今天很累,犯了这么酷的错误,对不起,我错过了括号

标签: c++


【解决方案1】:

应该是:

const  char* MyClass::enumText[]={"a","b","c","d"};
// You forgot these           ^^

【讨论】:

  • 这不应该是{'a','b','c','d'};吗?
  • 没关系,我现在看到他想要一个 char 指针数组,而不是 char 数组。尽管如此,我还是会留下这个,以防其他人感到困惑。
【解决方案2】:

你忘记了变量定义中的[]const char* MyClass::enumText[]={"a","b","c","d"};

【讨论】:

    【解决方案3】:

    您错过了 []。它应该是 const char* MyClass::enumText[]={"a","b","c","d"};

    【讨论】:

      【解决方案4】:
      #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;
      }
      

      【讨论】:

        【解决方案5】:

        我认为您只是缺少 enumText 定义末尾的 [](就在 ={... 之前)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-10-05
          • 2013-11-30
          • 1970-01-01
          • 1970-01-01
          • 2021-08-29
          • 1970-01-01
          • 2013-09-25
          相关资源
          最近更新 更多