下面的已加星标的行会抛出以下错误:
error: scalar object 'paper' requires one element in initializer
知道可能导致这种情况的原因是什么?这似乎是一个相对简单的初始化。
int main(){
double paper [] = {8.0, 11.0};//***
double box [] = {6.0, 10.0};//***
paperFold pf;
cout << pf.numFolds(paper,box) << endl;
return 0;
}
答案 0 :(得分:2)
这一行:
double paper [] = {8.0, 11.0};
对于我能记住的任何版本,在C或C ++中完全正确。
但编译器可能会受到流中其他错误的干扰。
这段代码在C ++中很好用:
#include <iostream>
int main() {
double paper [] = { 8.0, 11.0 }; //***
std::cout << paper[0] << " - " << paper[1] << std::endl;
return 0;
}
与C中的这个一样:
#include <stdio.h>
int main() {
double paper [] = { 8.0, 11.0 }; //***
printf("%f - %f\n", paper[0], paper[1]);
return 0;
}
答案 1 :(得分:1)
错误消息抱怨您尝试使用多个初始化程序初始化标量对象paper
。
就像这样:
double paper = {8.0, 11.0};
但显然paper
是您发布的代码中的聚合类型,不会产生该错误。所以,这意味着你还没有发布
产生错误的代码或者只是保存源文件?