为什么我的 for 循环在我的 void 函数中不起作用
Why does my for loop not work in my void function
我的for
循环在void函数之外工作,但在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-CppMinGW64x86_64-w64-mingw32liblibmingw32.a(lib64_libmingw32_a- crt0_c.o) In function `main': 18 C:crossdevsrcmingw-w64-v3-gitmingw-w64- crtcrtcrt0_c.c undefined reference to `WinMain' D:CPP Projectscollect2.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;
}
你的程序需要有一个主函数(程序的入口点(。
试试这个
#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;
}
int main()
{
somation();
return 0;
}
相关文章:
- 为什么在我的函数类型后使用引用运算符 (&) 允许我修改它返回的值?
- 在哪里放置我的函数?进入我的母语 Gui 还是进入我的演示者?
- 查找定义我的 C/C++ 函数/宏的文件比'grep'更简单的方法
- 为什么我的 constexpr 对象在我的函数中不是 constexpr?
- 为什么我的函数接受"std::string"进行排序不会改变它?
- 为什么 emscripten 不编译我的函数?
- binary_search() 函数在我的函数体中不起作用
- 如何将不同大小的数组传递给我的 C++ 函数?
- 如果我想使用 cout 为我的函数提供任何输入......我该如何给出
- (C++)我的函数不返回数组
- 如何让我的重载<<运算符打印出我的函数?
- 我的函数调用 (C++) 中的未声明标识符
- 钩/绕道 d3d9 (现在/结束场景) - 似乎调用我的函数然后崩溃
- 成员函数的"this"参数具有"const"类型,但我的函数实际上不是"const"
- 我应该声明我的函数模板专业化还是定义它们就足够了
- 为什么我的函数名称中会随机出现一个额外的字母
- 为什么我的函数无法使用指针打印多维数组的元素?
- 当我从头文件和实现文件调用我的函数到我的主文件时,我没有得到任何输出
- 钩子SSDT.其他驱动程序使用我的函数
- 如何修复我的函数 popFront 为我的列表?