Closed. This question is not reproducible or was caused by typos。它当前不接受答案。












想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

在10个月前关闭。



Improve this question




每当我尝试使用这些变量进行引用传递时,都会出现“初始化器值太多”错误:

主文件。这是发生错误的地方,也是我遇到所有麻烦的地方。
#include <iostream>
#include <fstream>
#include "Header.h"
using namespace std;

int main() {

    std::string itemName;
    double itemPrice;
    double itemQuantity;
    double itemDiscount;

    //Opening input file
    ifstream infile;
    infile.open("InputFile.txt");

    infile >> itemName;
    infile >> itemPrice;
    infile >> itemQuantity;
    infile >> itemDiscount;

    //Opening output file
    ifstream outfile;
    outfile.open("OutputFile.txt");

    //This is where the error occurs, a red underline at "itemQuantity"
    double calculateCost(itemPrice, itemQuantity, itemDiscount);
}

功能定义。在这里您可以看到我正在尝试使用“按引用传递”。
#include <iostream>

double calculateCost(double &price, double &quantity, double &discountPct) {

    //Placeholder code
    std::cout << "Hello world.\n";
}

header 。我在这里也为参数添加了“&”符号。
#pragma once

double calculateCost(double &price, double &quantity, double &discountPct);

最佳答案

这个

double calculateCost(itemPrice, itemQuantity, itemDiscount);

是类型为double的标量对象的声明,其名称为标识符calculateCost。删除类型说明符
calculateCost(itemPrice, itemQuantity, itemDiscount);

还应考虑到该函数应具有带有表达式的return语句。

关于c++ - C++函数参数中的“Too Many Initializer Values” ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59975464/

10-11 22:59
查看更多