C++ cpp:错误:';类boost::可选<;std::\uuuCXX11::基本字符串<;char>&燃气轮机';没有名为'的成员;c#u街'; Test::Test(const boost::optional<std::string>& name): mName(name) { ... Some statements ... } int Test::setResult() { ... i=system(mName.c_str()) ... } Test::Test(const boost::可选名称(&N): mName(姓名) { ... 一些声明 ... } int测试::setResult() { ... i=系统(mName.c_str()) ... }
我得到的错误是C++ cpp:错误:';类boost::可选<;std::\uuuCXX11::基本字符串<;char>&燃气轮机';没有名为'的成员;c#u街'; Test::Test(const boost::optional<std::string>& name): mName(name) { ... Some statements ... } int Test::setResult() { ... i=system(mName.c_str()) ... } Test::Test(const boost::可选名称(&N): mName(姓名) { ... 一些声明 ... } int测试::setResult() { ... i=系统(mName.c_str()) ... },c++,boost,C++,Boost,我得到的错误是 error: 'class boost::optional<std::__cxx11::basic_string<char> >' has no member named 'c_str' i=system(mName.c_str()); ^ 错误:“类boost::optional”没有名为“c_str”的成员 i=系统(mName.c_str()); ^ 请帮助修复“我的代码”该mName成员属于可选
error: 'class boost::optional<std::__cxx11::basic_string<char> >' has no member named 'c_str'
i=system(mName.c_str());
^
错误:“类boost::optional”没有名为“c_str”的成员
i=系统(mName.c_str());
^
请帮助修复“我的代码”该
mName
成员属于可选类型。如果要在该可选后面添加字符串,则需要使用以下内容解除对其的引用:
i=system(mName->c_str());
当然,您可能首先要确保它有一个值:
if(mName)i=system(mName->c_str());
mName
成员属于可选类型。如果要在该可选后面添加字符串,则需要使用以下内容解除对其的引用:
i=system(mName->c_str());
当然,您可能首先要确保它有一个值:
if(mName)i=system(mName->c_str());