0

我在用

Eigen::Vector2d vector(1,2)
std::cout << "x" << vector[0] << std::endl;

但这不起作用,因为 cout 的无效过载

但是这个值应该是两倍还是?

Eigen::Vector2d vector(1,2)
double x = vector[0]
std::cout << "x" << x << std::endl;

这行得通...有人知道为什么吗?或者我必须做些什么才能获得双倍价值?

感谢帮助

4

1 回答 1

0

也许结果vector[0]不是double?也许它是某个类或自定义类型?在第一个片段中,您已明确转换vector[0]double. 如果是这种情况,请尝试在第二个片段中转换结果:

Eigen::Vector2d vector(1,2);
std::cout << "x" << (double)(vector[0]) << std::endl;
于 2013-09-11T11:49:33.573 回答