gpt4 book ai didi

visual-c++ - 无法使用{0}初始化float数组

转载 作者:行者123 更新时间:2023-12-03 09:07:31 24 4
gpt4 key购买 nike

当我在Veccreator函数中初始化float数组时,我的编译器给出了运行时错误。我在这里发布的只是我的代码的示例。

#include<iostream>

using namespace std;
#define SIZE 1000
class Vector
{
private:
float vecarray[SIZE];
public:
void VecCreator(int dimension)
{
vecarray[SIZE]= { 0 };
cout << "Enter " << dimension << " digits" << endl;
for (int i = 0; i < dimension; i++)
{
cin >> vecarray[i];
}
}


};
int main(void) {
Vector obh;
obh.VecCreator(2);
}

但这可以很好地工作:
#include<iostream>

using namespace std;
#define SIZE 1000
class Vector
{
private:
float vecarray[SIZE]= {0};
public:
void VecCreator(int dimension)
{
cout << "Enter " << dimension << " digits" << endl;
for (int i = 0; i < dimension; i++)
{
cin >> vecarray[i];
}
}


};
int main(void) {
Vector obh;
obh.VecCreator(2);
}

请告诉我为什么第一个代码给出错误。

最佳答案

在这里查看第二个答案:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/14e7318e-6fff-4d68-a823-9cbe7b7bc20a/debugging-runtime-check-failure-2-stack-around-the-variable-loggerthread-was-corrupted?forum=vcgeneral

为什么不像下面这样呢?我的意思是,如果您想在其中放置值,为什么最初要在其中放置0?

private:
float vecarray[SIZE];
public:
void VecCreator(int dimension)
{
cout << "Enter " << dimension << " digits" << endl;
for (int i = 0; i < dimension; i++)
{
cin >> vecarray[i];
}
}

关于visual-c++ - 无法使用{0}初始化float数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42701893/

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