weixin_44577752
2019-10-13 15:52
采纳率: 85.7%
浏览 1.9k

小白想问getline()老是说没有与参数列表匹配的重载函数

#include "stdafx.h"
#include<iostream>
#include<stdio.h>
#include<string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    char *line=NULL;
    size_t len=23;
    int read;
    if ((line=(char*)malloc((len + 1))) == NULL) {
        cout << "为空";
        exit(-1);
    }
    cin >> line;
    size_t l=sizeof(line);
    line=(char*)realloc(line,l);
    while ((read = getline(&line, &len, stdin)) != -1)
        cout << line;
    free(line);
    return 0;
}

如题

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 白色一大坨 2019-10-14 13:03
    已采纳

    因为这个不是c的标准函数,你这么用肯定不行,要按照c++的标准来用。
    图片说明

    点赞 评论
  • blownewbee 2019-10-13 16:04

    我gcc这样写可以通过编译,你是vc++?

    #include<iostream>
    #include<stdlib.h>
    #include<stdio.h>
    #include<string>
    using namespace std;
    int main()
    {
        char *line=NULL;
        size_t len=23;
        int read;
        if ((line=(char*)malloc((len + 1))) == NULL) {
            cout << "为空";
            exit(-1);
        }
        cin >> line;
        size_t l=sizeof(line);
        line=(char*)realloc(line,l);
        while ((read = getline(&line, &len, stdin)) != -1)
            cout << line;
        free(line);
        return 0;
    }
    
    点赞 评论

相关推荐 更多相似问题