stl矢量矢量从double转换为unsigned int

时间:2014-05-13 15:07:42

标签: c++ templates vector stl double

我正在尝试使用STL模板类向量声明向量向量,但我不知道我做错了什么。

int K = 4;
int clusterSize = 45;    
vector<vector<double> > clusters(K+1,vector<double>(clusterSize));

它抛出了这个错误:

warning C4244: 'argument' : conversion from 'double' to 'unsigned int', possible loss of data   

我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用基于Clang 3.1的C ++ Builder XE3,Windows 64位编译器编译时,有两个警告,但说明相同的信息:implicit conversion changes signedness: 'int' to 'size_type' (aka 'unsigned long long')。警告位于K+1声明中的clusterSizeclusters位置。

无论使用何种编译器,都试图传达类似于int如何使用而不是size_type的内容。查看此优秀的矢量参考以获取更多构造函数详细信息:std::vector::vector