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

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

5
#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条回答 默认 最新

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

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

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 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;
    }
    
    点赞 1 评论 复制链接分享

相关推荐