vs2010编译报错 vs2013可通过 这是怎么回事?

疏星暗淡 2015-05-08 03:30:13
#include"iostream"
#include"vector"
#include"string"
using namespace std;
class Solution {
public:
/**
* param n: As description.
* return: A list of strings.
*/
vector<string> fizzBuzz(int n) {
vector<string> results;
for (int i = 1; i <= n; i++) {
if (i % 15 == 0) {
results.push_back("fizz buzz");
}
else if (i % 5 == 0) {
results.push_back("buzz");
}
else if (i % 3 == 0) {
results.push_back("fizz");
}
else {
results.push_back(to_string(i));
}
}
return results;
}
};
void main(){
Solution t1;
vector<string> t2;
t2 = t1.fizzBuzz(15);
int i;
for (i = 0; i < 15;i++)
cout << t2[i] <<" " ;
cout << endl;
system("pause");
}
...全文
145 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangkui201310 2015-05-11
  • 打赏
  • 举报
回复
呵呵,现在编程编译器变得好快了,虽然vs2015都出来了,但我还是用的2012的,习惯了。
婲烬 2015-05-11
  • 打赏
  • 举报
回复
这很正常, 从vs2010开始往后,2012,2013,2015 它们在语法支持和C++标准库都有不同程度的更改!主要是为了支持C++11,C++14,C++17(你没看错,2015开始了对C++174的初步支持), 对这些新标准的支持不仅仅是从语法上的原生支持和变更,还有是从C++标准库的支持和变更,即使你没有应用到C++11等新标准,而是以C++98和03标准来写的老代码,这些变更,特别是标准库上的变更都会或多或少的影响到你的代码。 举个简单的例子:右值引用是C++11全带来的,所以支持C++11的VS的标准库的大多数STL类都会修改为多出了一个右值引用版本的函数重载,所以你以前的按老标准写的代码在这个新VS里编译时,即使你根本没用到也没想用右值,但你所调用的STL等类和函数时相当多的符合右值的调用都会自动调用那个右值的重载版本而不是以前的左值,当然这个例子只是在底层上的改变,表面上你似乎不会感觉到变化,但表面上的改变,并且像你那样直接使其报错的改变也是有很多的。限于篇幅就不详细举例了。
疏星暗淡 2015-05-09
  • 打赏
  • 举报
回复
vs 2010 报错如上所示!
疏星暗淡 2015-05-09
  • 打赏
  • 举报
回复
1> test.cpp 1>f:\original\fdisk\program\testfizz\testfizz\test.cpp(24): error C2668: “std::to_string”: 对重载函数的调用不明确 1> c:\program files\microsoft visual studio 10.0\vc\include\string(688): 可能是“std::string std::to_string(long double)” 1> c:\program files\microsoft visual studio 10.0\vc\include\string(680): 或 “std::string std::to_string(_ULonglong)” 1> c:\program files\microsoft visual studio 10.0\vc\include\string(672): 或 “std::string std::to_string(_Longlong)” 1> 尝试匹配参数列表“(int)”时 1> 1>生成失败。
赵4老师 2015-05-08
  • 打赏
  • 举报
回复
vs2013纠正了些许旧Bug或支持了些许新语法。 我猜。
zuxi 2015-05-08
  • 打赏
  • 举报
回复
你得看一下是报的什么错啊

65,189

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧