【发布时间】:2014-05-13 15:07:42
【问题描述】:
我正在尝试使用 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
我做错了什么?
谢谢!
【问题讨论】:
-
我在使用
-Wall -Wextra -pedantic的 g++ 4.8.1 中没有收到任何错误或警告。 -
“它给我抛出了这个错误:warning C4244: ...” 然后再次阅读该消息,这是一个警告。
-
一切都被宣布为正确。你确定警告是针对这条线的吗?警告不是错误。它可以工作。
-
呈现的代码看起来不错。您能否将此代码包装在同样显示此警告的
main()函数中?我这样做的尝试没有收到任何警告:ideone.com/HvcnAK -
在 VS2013 或 GCC 4.7.2 下没有错误。您使用的是哪个编译器?您确定错误与您提供的代码块有关吗?
标签: c++ templates vector stl double