字符串未声明的标识符

时间:2016-11-12 22:04:54

标签: c++ arrays

我是数组的新手,我在这里编写了这段代码,我认为我已经正确地完成了所有语法。但是,我得到了一个

C2065'字符串':未声明的标识符

正如你所看到的那样,我设置了Prototypes,但它仍然会出现错误吗?

var block = [];
var del;

for(var a = 0; a < 9; a++) {
  let temp = [];
  for(var b = 0; b < 9; b++) {
    let num = parseInt(prompt(`Enter element ${b} of row ${a}:`));
    if (num > 0) {
      temp.push(num);
    } else {
      // block[a*10+b] = [1,2,3,4,5,6,7,8,9];
      temp.push(b);
    }
  }
  block.push(temp);
}

我在这里查看了错误,但是,他们提出的解决方案是添加大多数人忘记的原型,但是我没有忘记它仍然会给出错误?谁能帮忙?

1 个答案:

答案 0 :(得分:-1)

交换这些陈述

void getJars(string[], int[], int);
int getTotal(string[], int[], int);

using namespace std;

应该是

using namespace std;

void getJars(string[], int[], int);
int getTotal(string[], int[], int);

同时初始化变量总数

int getTotal(string salsa[], int jars[], int NUM) {

    int total = 0;
    ^^^^^^^^^^^^^

    for (int i = 0; i < NUM; i++) {

        total += jars[i];
    }

    return total;
}

更新拼写错误

cout << "Salsa Sales Calculator...\n";
                     ^^^^^^^^^^^

您可以删除函数return中的getJars语句,因为该函数的返回类型为void,此函数不需要return语句。