C++11 windows visual studio 2015,C++;11标准和犰狳图书馆

C++11 windows visual studio 2015,C++;11标准和犰狳图书馆,c++11,visual-studio-2015,armadillo,C++11,Visual Studio 2015,Armadillo,我有一个Visual Studio Community 2015项目(x64解决方案平台),使用Armadillo线性代数库(版本6.500.5稳定),如果我尝试使用引入C++11的语法,它会收到生成错误。该文档声明“当使用C++11标准时,Mat、Col、Row中的元素可以通过初始化器列表进行设置”。例如,如果我从犰狳的文档中取一个例子 VS2015生成错误 Error C2440 'initializing': cannot convert from 'initializer list' t

我有一个Visual Studio Community 2015项目(x64解决方案平台),使用Armadillo线性代数库(版本6.500.5稳定),如果我尝试使用引入C++11的语法,它会收到生成错误。该文档声明“当使用C++11标准时,Mat、Col、Row中的元素可以通过初始化器列表进行设置”。例如,如果我从犰狳的文档中取一个例子

VS2015生成错误

Error C2440 'initializing': cannot convert from 'initializer list' to 'arma::Mat<double>'
错误C2440“初始化”:无法从“初始值设定项列表”转换为“arma::Mat”
相比之下,C++98示例编译时没有错误:

// C++98
mat A;
A << 1 << 3 << 5 << endr
  << 2 << 4 << 6 << endr;
/C++98
mat A;

VS2015中的C++11支持不完整。通过在包含Armadillo头之前定义以下内容,可以强制Armadillo使用C++11功能:

#define ARMA_USE_CXX11
#include <armadillo>
#定义ARMA_使用_CXX11

#包括项目)。

VS2015中的C++11支持不完整。通过在包含Armadillo头之前定义以下内容,可以强制Armadillo使用C++11功能:

#define ARMA_USE_CXX11
#include <armadillo>
#定义ARMA_使用_CXX11

#包括项目)

解决了它。。。谢谢你的迅速回复。干杯//Rolft解决了这个问题。。。谢谢你的迅速回复。干杯//Rolf