我想将int的向量转换为int。这是我如何进行:奇怪:矢量<int> int彗星
#include <iostream>
#include <cmath>
#include <vector>
using namespace std;
uint32_t toInt(vector<int> v)
{
uint32_t x=0;
for(int i=0 ; i<v.size() ; i++)
x+=v[i]*pow(10, v.size()-1-i);
return x;
}
int main()
{
vector<int> v = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
cout << toInt(v) << endl; // displays: 123456787 (???)
}
该程序应输出123456789,但相反,我有12345678(!)7(!)。
我使用GCC(TDM-1)上的代码::块4.7.1 13.12
是否有人有一个解释了这个问题,并解决它的方法吗? 谢谢。
[无法复制](https://ideone.com/Ia3csX) – Xirema
[无法重现](http:// ideone。COM/JHyqD9) –
[不能再现(http://coliru.stacked-crooked.com/a/8c6939905f6a28ec) – NathanOliver