ifstream 没有从 char 到 char 的转换存在错误

ifstream no conversion from char to char exists error

    int main()
    {
        char buffer[1024];
        ifstream dataFile ("./data.dat");
        while(buffer)
        {
            localHouse->location = dataFile.getline(buffer, 1024);
        }
}

这会引发错误:No suitable converion function from "std::basic_istream<char, std::char_traits<char>>" to "char" exists.

如果我改用指向缓冲区的指针,它会继续抛出此错误。据我所知,我完全按照示例 here 中的方式使用它。

Whosebug 上还有一个例子here

这显示了类似的用法,但我无法让它工作,这真的让我因为一个似乎说它无法从 char 转换为 char 的错误而焦头烂额。 >.<

getline 的 return 值是 istream 对象,我猜它不是您想要分配给 localHouse->location 的东西。 getline 将文件的一行读入您作为第一个参数提供的缓冲区变量。