基本数组初始化返回错误

时间:2016-11-09 16:14:12

标签: c++

下面的已加星标的行会抛出以下错误:

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;

}

2 个答案:

答案 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是您发布的代码中的聚合类型,不会产生该错误。所以,这意味着你还没有发布 产生错误的代码或者只是保存源文件?