C++constexpr编译问题
C++ constexpr compilation issue
我无法为基本矢量图形点类编译此测试用例。请帮我弄清楚缺了什么。谢谢
编译错误:Constexpr变量"i"必须由常量表达式初始化
测试用例:
TEST(constexprPoint, Point)
{
constexpr int i = VG::Point{4, 5}.getX(); // <-- compile error
CHECK_EQUAL(i, 4);
}
头文件:
namespace VG {
class Point{
public:
Point(const int x, const int y) : myX{x},myY{y} {}
constexpr int getX() const;
constexpr int getY() const;
private:
const int myX, myY;
};
}
源文件:
namespace VG {
constexpr int Point::getX() const {
return myX;
}
constexpr int Point::getY() const {
return myY;
}
}
您还需要使构造函数成为constexpr
。
有关constexpr
(包括构造函数(行为的更多信息,请参阅本页。
有两个单独的错误。
- 您需要使构造函数
constexpr
- 您需要将函数移到头文件中(constexpr函数的主体在使用时必须可见(
实时演示
相关文章:
- 编译包含字符串的代码时遇到问题
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 编译要在英特尔Hyperscan中使用的.cc文件时出现问题
- 如何在 Mac 上正确编译C++,当它在 Linux 上编译没有问题时?
- Rextester 语言编译C++问题
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 编译 llvm 插件时出现问题:llvm/Config/llvm-config.h:没有这样的文件或目录
- C++ 多级虚拟继承编译问题
- 编译问题:在函数"_start"中:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- 使用 CImg 库的 std::min 和 std::max 的编译问题
- Qt Visual Studio 2015 加载项编译问题
- 构造函数和 G++ 编译配方的问题
- 解析问题 - 预期的非限定 ID - #include <array> 编译错误
- libssh 问题编译问题未定义的错误
- Eclipse 问题 - 编译期间不考虑 .c 和 .cpp 文件中定义的预处理
- Visual Studio 2017问题编译了C 代码,而该代码则在Linux中编译
- 这个C++代码有什么问题?编译错误:调用“测试::测试(测试)”没有匹配函数
- 试图编译基本Boost PropertyTree示例时出现问题-编译错误.该怎么做
- 如何解决***缺少分隔符的问题.编译QT(或支持库)时