gpt4 book ai didi

c++ - 类问题中的静态 int 数组

转载 作者:行者123 更新时间:2023-11-30 02:08:11 25 4
gpt4 key购买 nike

下面3个代码块分别是main.cpp、static_class_array.cpp、static_class_array.h。我收到以下错误:

static_class_array.cpp||In constructor 'static_array_class::static_array_class()':|
static_class_array.cpp|5|error: cannot convert '<brace-enclosed initializer list>' to 'int' in assignment|
||=== Build finished: 1 errors, 0 warnings ===|


#include "static_class_array.h"

int main()
{
static_array_class* array_class;

array_class = new static_array_class();

delete array_class;

return 0;
}


#include "static_class_array.h"

static_array_class::static_array_class()
{
static_array_class::array[3] = {0,1,2};
}
static_array_class::~static_array_class(){}



#ifndef STATIC_CLASS_ARRAY_H
#define STATIC_CLASS_ARRAY_H

class static_array_class
{
private:

static int array[3];

public:

static_array_class();
~static_array_class();
};
#endif

最佳答案

我认为你想要的实现文件是:

    static_array_class::static_array_class()
{
}
static_array_class::~static_array_class(){}

int static_array_class::array[3] = {0,1,2};

错误信息的解释

"cannot convert 'brace-enclosed initializer list' to 'int' in assignment"

在提交的代码中。

这是因为代码:

static_array_class::array[3] = {0,1,2};

被解释为 {0,1,2} 应该分配给数组中的元素 3。元素 3int 类型,(顺便说一句,没有分配为第四个元素),所以这就像:

int i = 0;
i = {0,1,2};

因此出现错误消息。

关于c++ - 类问题中的静态 int 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7141975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com