gpt4 book ai didi

c++ - 为什么我的 for 循环在我的 void 函数中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 15:56:20 25 4
gpt4 key购买 nike

我的 for 循环在 void 函数之外工作,但不在其中。

我尝试不使用函数并且它有效,但我需要将此 for 循环放在函数中,因为我想在其他代码中使用它。

它是这样工作的:

#include <iostream>
using namespace std;

int main()
{
int n, sum = 0;
cout << "Enter a positive integer: ";
cin >> n;
for (int i = 1; i <= n; ++i) {
sum += i;
}
cout << "Sum = " << sum;
return 0;
}

但不是这样的:

#include <iostream>
using namespace std;

void somation(){
int n, sum = 0;
cout << "Enter a positive integer: ";
cin >> n;
for (int i = 1; i <= n; ++i) {
sum += i;
}
cout << "Sum = " << sum;
}

这是我在 dev-cpp 中得到的错误信息:

D:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib\libmingw32.a(lib64_libmingw32_a- 
crt0_c.o) In function `main':

18 C:\crossdev\src\mingw-w64-v3-git\mingw-w64-
crt\crt\crt0_c.c undefined reference to `WinMain'

D:\CPP Projects\collect2.exe [Error] ld returned 1 exit status

最佳答案

我认为您遇到的问题是您试图执行一个函数而不在 main 中调用它。如果你想在其他地方使用函数 somation,你可以复制它,但你总是必须在 main 中调用函数,否则它不会工作。

void somation()
{
int n, sum = 0;
cout << "Enter a positive integer: ";
cin >> n;
for (int i = 1; i <= n; ++i) {
sum += i;
}
cout << "Sum = " << sum;
return;
}

int main(){
somation();
return 0;
}

关于c++ - 为什么我的 for 循环在我的 void 函数中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57031635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com