我正在使用
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;
这是有效的......有谁知道为什么?或者我需要做些什么才能获得双倍值?
感谢您的帮助
答案 0 :(得分:0)
也许vector[0]
的结果不是double
?也许这是一些类或自定义类型?在第一个代码段中,您已明确将vector[0]
转换为double
。如果是这种情况,请尝试将结果转换为第二个代码段:
Eigen::Vector2d vector(1,2);
std::cout << "x" << (double)(vector[0]) << std::endl;