我正在尝试使用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
我做错了什么?
谢谢!
答案 0 :(得分:0)
使用基于Clang 3.1的C ++ Builder XE3,Windows 64位编译器编译时,有两个警告,但说明相同的信息:implicit conversion changes signedness: 'int' to 'size_type' (aka 'unsigned long long')
。警告位于K+1
声明中的clusterSize
和clusters
位置。
无论使用何种编译器,都试图传达类似于int
如何使用而不是size_type
的内容。查看此优秀的矢量参考以获取更多构造函数详细信息:std::vector::vector。