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

时间:2015-12-21 21:43:58

标签: c++11

我尝试用constexpr

编写函数
constexpr QString c(const QString &columnName);

但输出问题:

  

包含constexpr非静态成员函数'QString的类   DatabaseHandler :: c(const QString&)const'不是文字类型        constexpr QString c(const QString& columnName);

我非常了解C ++ 11,所以无法解决这个问题。这是什么意思?
附:如果我添加static,那么它还会输出问题无效的返回类型'QString'

1 个答案:

答案 0 :(得分:6)

constexpr函数要求其输入参数及其返回类型为literal types,因此必须至少有一个constexpr构造函数。 Qstring(即返回类型)不会,因此会出现编译错误。