C ++:Armadillo列矩阵初始化不明确

ar2015

我定义了犰狳矩阵,并尝试根据其手册通过初始化程序列表对其进行初始化

除非我尝试定义列矩阵,否则都很好。

为什么模棱两可?

#include <armadillo>

int main()
{
    // ok : square matrix
    arma::mat A={{1.0,2.0},{3.0,4.5}};

    // ok: row matrix
    arma::mat B={3.5,4.0};

    // error: conversion from ‘<brace-enclosed initializer list>’ to 
    // ‘arma::mat {aka arma::Mat<double>}’ is ambiguous
    arma::mat C={{3.5},{4.0}};

    // ok: column matrix
    arma::mat D=arma::mat({3.5,4.0}).t();

    return 0;
}
mtall

C ++ 11/14标准存在问题。由于每个内部集中只有一个元素,因此该标准从本质上说{{3.5},{4.0}}也可以解释为{3.5,4.0}换句话说,{3.5}可以隐式转换为double(3.5)这导致两个构造函数之间的歧义。

一种可能的解决方案是使用Armadillo列向量构造函数:

arma::mat C = arma::colvec( {3.5, 4.0} );

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++:Armadillo列矩阵初始化不明确

来自分类Dev

Armadillo C ++-从const内存初始化只读矩阵,无需复制

来自分类Dev

斯威夫特:“对成员的不明确引用”初始化

来自分类Dev

犰狳C ++:数组的矩阵初始化

来自分类Dev

如何在C中初始化矩阵

来自分类Dev

在C结构中初始化矩阵变量

来自分类Dev

C语言中的毛刺初始化矩阵

来自分类Dev

在结构C中初始化变量矩阵

来自分类Dev

C ++重载解析度不明确-GCC

来自分类Dev

C2594:与COM对象的不明确转换

来自分类Dev

C ++为什么调用不明确?

来自分类Dev

错误:对成员的请求不明确c ++;

来自分类Dev

C2594:与COM对象的不明确转换

来自分类Dev

C++ 多态:是否允许不明确的成员类型?

来自分类Dev

初始化枚举C ++

来自分类Dev

C ++参考初始化

来自分类Dev

C ++ Stringstream初始化

来自分类Dev

C ++:初始化与赋值?

来自分类Dev

初始化数组C ++

来自分类Dev

初始化C ++结构

来自分类Dev

初始化C的结构

来自分类Dev

C ++参考初始化

来自分类Dev

结构的初始化 - C

来自分类Dev

为什么在C中初始化n维数组时必须明确指定n-1维

来自分类Dev

如何在C#中解析不明确的枚举值?

来自分类Dev

填充std :: map时,“ C2593:运算符=不明确”

来自分类Dev

运算符'+'在类型'ulong'和'int'(C#)的操作数上不明确

来自分类Dev

C ++模板副本构造函数不可用或不明确

来自分类Dev

下列方法或属性错误之间的调用不明确-C#Visual Studio 2019