mercredi 6 avril 2016

C++: Armadillo column matrix initialization ambiguous

I define an armadillo matrix and I try to initialize it via initialiser lists according to its manual.

It is fine unless I try to define a column matrix.

Why is it ambigious?

#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;
}

Aucun commentaire:

Enregistrer un commentaire