C2065:' oss'未声明的标识符

时间:2014-03-14 15:47:58

标签: c++

我使用Qt Creator,我的C ++代码中有一个奇怪的错误。这段代码

#include <stdlib.h>

std::wstring readFile(const std::wstring& f) {
    //try and open the file
    std::wifstream file(TL::wToString(f).c_str());
    if (!file)
        throw BadFileLoad(f, L"Impossible to write in the file "+f);

    //reads the content
    std::wostringstream oss;
    oss << file.rdbuf();

    return oss.str();
}

发出此错误:

  

C2065:'oss'未声明的标识符

但实际上我在第一行宣布了!!怎么了?谢谢!

3 个答案:

答案 0 :(得分:1)

您缺少一些包含文件。尝试以下几点:

#include <string>  // std::wstring
#include <sstream> // std::wostringstream
#include <fstream> // std::wifstream

答案 1 :(得分:1)

您需要包含具有类std::wostringstream

的标头
#include <sstream>

答案 2 :(得分:0)

我发现错误,我评论此行抛出BadFileLoad(f,L“无法在文件中写入”+ f);而不是如果(!文件)...对不起家伙,是一个愚蠢的问题!谢谢你的时间!