出于某种原因,我使用以下代码收到以下错误。对我来说,一个案例中的std :: string有一个c_str函数而另一个案例中有一个dosen&t;对我来说真的没有意义。
print("The percentage of missing action types is {0}".format
(((clean_sessions['action_type'] == 'Missing').value_counts())/(clean_sessions['action_type'].count())
))
然后检查我添加了另一个字符串。
../Shader.hpp:29:19: error: request for member ‘c_str’ in ‘code’, which is of non-class type ‘std::__cxx11::string(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> > (*)()) {aka std::__cxx11::basic_string<char>(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> > (*)())}’
loadString(code.c_str());
void loadFile(const char* fn)
{
std::ifstream fin(fn);
if(!fin.good())
throw std::runtime_error("File could not be opened.");
std::string code(std::istreambuf_iterator<char>(fin), std::istreambuf_iterator<char>());
fin.close();
loadString(code.c_str());
}
现在这段代码编译完毕。我不明白为什么它适用于一个版本但不适用于另一个版本。