【发布时间】:2021-11-07 22:15:59
【问题描述】:
我最近一直在学习 c++。当我尝试运行以下几行时...
#include <iostream>
short a = 0;
short b = 1;
short c, i;
void Fibonacci(){
std::cout << a;
std::cout << b;
while (a <= 100){
c = a + b;
a = b;
b = c;
std::cout << c;
}
}
int prime_number(short a){
if (a == 1){
std::cout << "It's a prime number\n";
} else{
for (i = 2; i < a; i++){
if ((a%i) == 0){
std::cout << "It's a prime number\n";
std::cout << "The given number is divisible by " << i << "\n";
return 0;
}
}
std::cout << "It's not an prime number";
}
}
int main(){
short user_input;
std::cout << "Press 1 for Fibonacci and 2 for prime number";
std::cin >> user_input;
if (user_input == 1){
Fibonacci();
}
if (user_input == 2){
std::cout << "Type the number to check whether it's prime";
std::cin >> a ;
prime_number(a);
}
}
...我收到一条错误消息:
In function ‘int prime_number(short int)’:
Function.cpp:37:1: warning: control reaches end of non-void function [-Wreturn-type]
37 | }
我在各种平台上搜索了答案,但我无法理解这里到底发生了什么。这是一个错误,因为编译器无法找到函数是否有结束。有人可以帮我理解错误并解决它吗?
【问题讨论】:
-
现在我可以清楚地理解警告了。感谢您的帮助
-
没问题。一般来说,stackoverflow 的设计初衷并不是对初学者友好——至少在发布新问题时是这样。它旨在成为独特问题及其答案的存储库 - 并且(很好)所有初学者问题都已经被问过。我不确定哪个网站最适合初学者,但是当您仍在学习基础知识时,我只会在这里发布一个问题作为最后的手段。一开始可能会很艰难——希望你有朋友/老师可以帮助你;否则,也许试试 Quora?祝你好运。 =)
标签: c++ compiler-errors return compiler-warnings