9
考慮下面的(工作)段:徵常量TensorMap
Eigen::ArrayXd x (8);
x << 1, 2, 3, 4, 5, 6, 7, 8;
Eigen::TensorMap<Eigen::Tensor<double, 2>> y (x.data(), 2, 4);
這也適用:
const Eigen::ArrayXd const_x = x;
const Eigen::Map<const Eigen::ArrayXXd> z (const_x.data(), 2, 4);
我試圖弄清楚爲什麼我不能做到這一點,但:
const Eigen::TensorMap<const Eigen::Tensor<double, 2>> const_y (const_x.data(), 2, 4);
我使用本徵3.3.3(也試過3.3.4)
你可以添加你的編譯錯誤信息? –
嘗試「const Eigen :: TensorMap> const_y(const_x.data(),2,4);」。注意Eigen :: Tensor內部的「const double」。 –
您是否嘗試了@CarlodelMundo的建議?它似乎能夠工作,儘管它不是標準的特徵語法 - 但是張量模塊作爲一個整體並不遵循幾個特徵標準(從命名爲'TensorMap'開始,而不是'Map'和'Map ')。 –
chtz