C++11 在这种情况下如何使用constexpr?

C++11 在这种情况下如何使用constexpr?,c++11,C++11,我尝试用constexpr编写函数 constexpr QString c(const QString &columnName); 但这是一个问题: constexpr非静态成员函数“QString”的封闭类 DatabaseHandler::c(const QString&)const'不是文本类型 constexpr QString c(const QString和columnName) 我很不了解C++ 11,但是不能理解这个bug。这是什么意思? 另外,如果我添加了static

我尝试用constexpr编写函数

constexpr QString c(const QString &columnName);
但这是一个问题:

constexpr非静态成员函数“QString”的封闭类 DatabaseHandler::c(const QString&)const'不是文本类型 constexpr QString c(const QString和columnName)

我很不了解C++ 11,但是不能理解这个bug。这是什么意思?

另外,如果我添加了
static
,那么它也会输出问题无效的返回类型“QString”

constepr
函数要求它们的输入参数和返回类型为,因此必须至少有一个
constepr
构造函数
Qstring(即返回类型)没有,因此会出现编译器错误。

constexpr
函数要求其输入参数和返回类型为,因此必须至少有一个
constexpr
构造函数
Qstring(即返回类型)没有,因此您会得到一个编译器错误。

我不知道。。。谢谢现在我读到Qt 4.8支持C++ 11,所以我认为它必须有这个构造函数。或者我不明白什么?引用类型是文本类型。在OP的例子中,返回类型不是文本类型,不是吗?我现在发现
QStringLiteral
define,但我不知道如何使用它it@PiotrSkotnicki是的,我纠正了thanx,你这个摇滚歌手;)我不知道。。。谢谢现在我读到Qt 4.8支持C++ 11,所以我认为它必须有这个构造函数。或者我不明白什么?引用类型是文本类型。在OP的例子中,返回类型不是文本类型,不是吗?我现在发现
QStringLiteral
define,但我不知道如何使用它it@PiotrSkotnicki是的,我纠正了thanx,你这个摇滚歌手;)