警告:控制到达非空函数的末尾[-Wreturn-type]

时间:2013-05-04 22:50:30

标签: c++ string file stream load

错误消息在标题中。有谁知道什么是错的?我想清除这个警告。我很傻。

   const std::string loadShaderFromFile(std::string shaderFilePath) {
        // load file
        std::fstream shaderFile(shaderFilePath.c_str(), std::ios::in);

        if(shaderFile.is_open()) {
            // help store the files buffer?
            std::stringstream shaderFileBuffer;
            // get files data by streaming the files stream into our buffer stream.
            shaderFileBuffer << shaderFile.rdbuf();
            // buffer contains the files data
            return shaderFileBuffer.str();
        }
    }

1 个答案:

答案 0 :(得分:2)

如果shaderFile.is_open()返回false,您的函数将无法获得return语句。如果shaderFile未打开,您希望函数返回什么?也许是一个空字符串。也许它应该抛出异常(除非这是正常的事情)。