Visual Studio中的c++数组错误
C++ Array Error in Visual Studio
我正在重新学习c++,我在类中的数组有一些麻烦。下面是我处理
的简化版本class Class
{
private:
string array[2];
public:
Class()
{
array[2] = {"Hello", "World"};
}
void printOut(int x)
{
cout << array[x];
}
Visual Studio在构造函数中数组初始化的第一个大括号错误(即{"Hello", "World"};上面写着"错误:期望一个表达式。"然而,当我初始化任何其他变量(不是数组)时,这个问题不会发生。
当我在类的私有部分声明数组时,我可以简单地初始化数组值,如下所示。
class Class
{
private:
string array[2] = {"Hello", "World"};
但是Visual Studio在等号上给出了一个错误:"错误:数据成员初始化现在是允许的。"当我试图在类的私有部分声明变量的同时初始化变量时,确实会发生此错误。
任何帮助或建议将不胜感激,提前感谢。
数组只能使用该语法初始化,不能赋值。你必须在构造函数的初始化列表中初始化它:
Class() : array{"Hello", "World"} {}
也可以使用可分配的std::array
。
std::array<string, 2> array;
Class()
{
array = {{ "Hello", "World" }};
}
:
Class()
{
array[0] = "Hello";
array[1] = "World";
}
相关文章:
- 类动态数组错误
- 如何返回多维数组?错误C2440
- 数组错误(不允许类型不完整)
- C++ 将文件读取到数组错误:'operator>>'不匹配
- 不断增加的指针数组 错误:赋值中的类型不兼容
- 从文本文件读取 2D 数组错误
- 动态结构数组错误
- 旋转数组 - 错误
- 按字母顺序排序名称,数组错误
- 因为每个循环都读取数组错误
- 二维数组错误
- C 获取数组错误
- 编译时出现字符串数组错误
- c++2维指针类数组错误(使用openframework)
- C++数组错误
- C++上数组错误的大小
- C++数组错误:访问冲突读取位置0xC0000005
- c++2D数组错误
- C++:为“char [4]”数组错误获取太多初始值设定项
- 分段错误(核心转储)排序字符串数组错误