gpt4 book ai didi

c++ - 编译器认为我构造的 MatrixXd 是函数而不是成员

转载 作者:行者123 更新时间:2023-11-30 03:29:13 26 4
gpt4 key购买 nike

我正在创建一个类,它应该有一个矩阵作为在 Eigen 库的 MatrixXd 类型的 header 类中声明的 protected 成员。问题是,如果我将它声明为 MatrixXd name(5, 5);,其中矩阵的维度在方括号之间,编译器会将其视为我的类的方法,而不是成员.

你能帮帮我吗?

最佳答案

你描述的是the most vexing parse , 并且意味着所有可以被解析为函数的东西都应该是。我们可以通过更改语法来解决这个问题。

在 C++11 中我们可以使用初始化列表语法:

MatrixXd name{5, 5};

否则,转换其中一个参数也可能有效:

MatrixXd name(int(5), 5);

关于c++ - 编译器认为我构造的 MatrixXd 是函数而不是成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45863415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com