每当我尝试构建此代码时,我都会收到错误,
“没有用于调用getline()的匹配函数”
但我以前用过它并且工作正常吗?我不确定发生了什么事。我正在使用Mavericks OSX,如果有的话,并使用Xcode来构建这个项目。这是为了学校。我知道inputFile工作正常,因为我已经注释了打印到控制台的getline()和“Open”。
//
// main.cpp
// Project 4
//
// Created by Eric Diviney on 10/27/13.
// Copyright (c) 2013 Eric Diviney. All rights reserved.
//
#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
using namespace std;
int main()
{
/*
|
|-------------------------------------------------------------
| Documentation
|-------------------------------------------------------------
| The headings[] array will contain all strings for the customer's receipt.
| the 2nd level of headings[][] will contain all of the info (name, address etc.) while
| the first level of headings[] will contain the number of customers. The order of the second level is heading1, heading2, customername,
| address, phone, footer
|
| The charges[] array will contain all double/floats required to compute the charges for the customer.
| The third level of charges[][][] will contain the actual charges/prices while the first level
| will hold n amount of customers. The second level of that array (charges[][]) will hold the first, second and third month.
| The order of the last array is electricity, water, and gas
|
| The output[] array is 3 customers in the first level (output[]) and the correspnding strings for each
| segment of their receipt output[][]. The order in the second level of this array is heading1, heading2, customerName, Customer address,
| customer Phone, Customer ID, electricity, water, gas, subtotal, discountRate, taxRate, tax for order, discount for order, order total,
| footer
|
*/
// variable declarations
string headings[3][7];
double charges[3][3][3];
string output[3][16];
ifstream inputFile;
inputFile.open("/Users/ericdiviney/Documents/workspace/project4/project4/input.txt");
if(inputFile.is_open())
{
cout << "Open" << endl;
}
getline(inputFile, headings[0][0], "*");
//cout << headings[0][0];
return 0;
}
答案 0 :(得分:5)
第三个参数是单个字符,因此您需要
getline(inputFile, headings[0][0], '*');
请注意单引号。 "*"
是以null结尾的字符串文字,类型为const char[2]
。