特征向量cout问题

时间:2013-09-11 09:46:23

标签: c++ eigen

我正在使用

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;

这是有效的......有谁知道为什么?或者我需要做些什么才能获得双倍值?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

也许vector[0]的结果不是double?也许这是一些类或自定义类型?在第一个代码段中,您已明确将vector[0]转换为double。如果是这种情况,请尝试将结果转换为第二个代码段:

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