当前位置:  开发笔记 > 编程语言 > 正文

不能将字符串数组声明为类成员

如何解决《不能将字符串数组声明为类成员》经验,为你挑选了1个好方法。

我无法在班上声明一个字符串数组.在我的班级定义下面:

class myclass{

    public:
        int ima,imb,imc;
        string luci_semaf[2]={"Rosso","Giallo","Verde"};
  };

和我的主文件

#include 
#include  
#include "string.h"
#include 
using namespace std;
#include "mylib.h"
int main() {

    return 0;
}

为什么我会收到以下警告/错误?

在此输入图像描述



1> Some program..:

你有两个问题:第一个是你无法像这样初始化内联数组,你必须使用构造函数初始化列表.第二个问题是您尝试使用三个元素初始化两个元素的数组.

要初始化它,例如

class myclass{
public:
    int ima,imb,imc;
    std::array luci_semaf;
    // Without C++11 support needed for `std::array`, use
    // std::string luci_semaf[3];
    // If the size might change during runtime use `std::vector` instead

    myclass()
        : ima(0), imb(0), imc(0), luci_semaf{{"Rosso","Giallo","Verde"}}
    {}
};

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有