关于c ++:没有匹配的函数来调用getline()?

No matching function for call to getline()?

每当我尝试建立这段程式码时,都会发生错误,

"No matching function for call to getline()"

但是我以前用过它,效果很好吗? S我不确定发生了什么。 如果可以的话,我正在使用Mavericks OSX,并使用Xcode构建该项目。 是上学的 我知道inputFile可以正常工作,因为我已经注释了getline()和打印到控制台的"打开"。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//
//  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;
}

第三个参数是单个字符,因此您需要

1
getline(inputFile, headings[0][0], '*');

请注意单引号。 "*"是一个空终止的字符串文字,类型为const char[2]