编写代码时C++出现错误:错误 1 错误 C2601:'circle':本地函数定义是非法的

I have an error in C++ when I write my code: Error 1 error C2601: 'circle' : local function definitions are illegal

本文关键字:错误 circle 非法 定义 函数 C2601 代码 C++      更新时间:2023-10-16

当我编写以下代码时,我在C++中遇到了一个问题:

error C2601: 'circle' : local function definitions are illegal

我怎样才能找到解决问题的办法?

#include < iostream > 
using namespace std;
int main() {
char grade;
cout << "enter grade : ";
cin >> grade;
switch (grade) {
case 'A':
void circle(float &, float &, float);
{
float r, a, c;
cout << "enter radius:";
cin >> r;
circle(a, c, r);
cout << "area=" << a << "t" << "circumference=" << c << endl;
return 0;
}
void circle(float & area, float & circumference, float r)
{
const double pi = 3.14159;
area = pi * r * r;
circumference = 2 * pi * r;
}
break;
default:
cout << "Invalid grade" << endl;
}
cout << "Your grade is " << grade << endl;
return 0;
}

它说什么就说什么。在main函数之外定义您的函数(和原型!(。

#include < iostream > 
void circle(float & area, float & circumference, float r)
{
const double pi = 3.14159;
area = pi * r * r;
circumference = 2 * pi * r;
}
using namespace std;
int main() {
char grade;
cout << "enter grade : ";
cin >> grade;
switch (grade) {
case 'A':
{
float r, a, c;
cout << "enter radius:";
cin >> r;
circle(a, c, r);
cout << "area=" << a << "t" << "circumference=" << c << endl;
return 0;
}
break;
default:
cout << "Invalid grade" << endl;
}
cout << "Your grade is " << grade << endl;
return 0;
}