我正在用 C++ 编写一个小程序。当我尝试使用 MS VS 2013 编译器编译它时,出现错误:“C2601:'main':本地函数定义非法”。这是什么意思?我的代码是:
#include <iostream>
int n;
int pomocniczaLiczba;
using namespace std;
int ciong(int n){
switch (n)
{
case 1:
return 1;
break;
case 2:
return 2;
break;
default:
pomocniczaLiczba = ciong(n - 2) + ciong(n - 1) * ciong(n - 1);
return pomocniczaLiczba;
break;
}
int main()
{
cin >> n;
cout >> ciong(n);
return 0;
}
}
你的包围曝光坏了。最终结果是你试图定义你的main
内部功能ciong
。而且C++不支持嵌套函数定义。因此出现编译器错误。
代码应该是:
#include "stdafx.h"
#include <iostream>
using namespace std;
int ciong(int n)
{
switch (n)
{
case 1:
return 1;
break;
case 2:
return 2;
break;
default:
int pomocniczaLiczba = ciong(n - 2) + ciong(n - 1) * ciong(n - 1);
return pomocniczaLiczba;
break;
}
} // <----- Oops, this was missing in your code
int main()
{
int n;
cin >> n;
cout << ciong(n) << endl;
return 0;
}
还有其他错误。例如,你的意思是cout << ciong(n)
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)