【发布时间】:2014-06-20 03:23:01
【问题描述】:
#include <iostream>
#include <string>
using namespace std;
string buff, resultstr, userstr;
string convert(const string& userstr)
{
buff = userstr.front();
resultstr = userstr;
resultstr.front() = '_';
resultstr = resultstr + buff + "ay";
return resultstr;
}
这是我的代码,我使用 QT Creator 3.1.0 和 GCC 4.9.0 作为编译器,这给了我:
in function 'std::string convert(const string& userstr)':
'const string' has no member named 'front'
'std::string' has no member named 'front'
我四处搜索并在older question 中发现,如果您的编译器不支持 C++11,就会发生这种情况,但 GCC 从 4.8 开始就应该支持它。难道我做错了什么?我是 C++ 的新手,所以我不会感到惊讶。
注意:我跳过了“main”函数,因为它只用于加载 QT GUI。
【问题讨论】:
-
"GCC 应该支持这一点" - 但前提是你告诉它。您是否在编译器参数中指定了
-std=c++11? -
我没有,也不太清楚该怎么做。
-
知道了!我必须将“QMAKE_CXXFLAGS += -std=c++11”添加到我的 .pro(qt 项目)文件中:)谢谢!
-
@Cestarian 将
CONFIG += c++11行添加到您的 .pro 文件中。它更好,因为它可以与 Visual Studio 和其他编译器一起使用。 -
@Nazar554 我认为这很有用,您应该将其发布为答案。
标签: string qt function gcc c++11