Main 必须返回一个值
Main must return a value
我一直在阅读"编程:使用C++的原则和实践"一书,这个例子旨在说明在类型转换中如何丢失数据。但是当我尝试执行它时,它一直告诉我"Main":必须返回一个值。我尝试在 while 循环的大括号后使用"return 0;",但随后它在"未解析的外部"周围出现错误。
我已经将书中的代码复制到Visual Studio,我复制的其他所有内容都按预期工作 - 有人能告诉我如何解决这个问题吗?我不知道为什么这个特定示例会发生这种情况,或者如何让它停止要求返回值。
抱歉,如果这很愚蠢,我非常缺乏经验,我尝试在谷歌上搜索答案,但建议的解决方案,如"return 0":)不起作用!
#include "std_lib_facilities.h"
int main()
{
double d = 0;
while (cin >> d)
{
int i = d;
char c = i;
int i2 = c;
cout << "d==" << d
<< " i==" << i
<< " i2==" << i2
<< " char(" << c << ")n";
}
}
我尝试在 while 循环的大括号后使用"return 0;",但随后它在"未解析的外部"周围出现错误。
这是一个单独的、不相关的问题,通过修复第一个问题而发现。添加返回,然后处理未解决的外部错误。
如果这是你的整个程序,你未解决的外部很可能iostream
。 您需要包含它并使用正确的命名空间。
请考虑以下代码:
#include <iostream>
using namespace std;
int main() {
cout << "Hello World!" << endl;
return 0;
}
更好的是,放弃 using
语句并使用 std::cout
,这样您就不必担心命名空间冲突。 请参阅此问题 为什么"使用命名空间 std;"被认为是不好的做法?
#include <iostream>
int main() {
std::cout << "Hello World!" << std::endl;
return 0;
}
相关文章:
- C++,class,一个返回对象的函数
- C++ 这里有一个返回 (24) 的布尔返回类型函数
- 我有一个返回字符串向量的函数.它需要两个字符串,并且返回一个字符串中缺少的字符串
- 两个相同的重载运算符[]一个返回引用
- 给定一个整数 N>0,区间 [0, 2^N) 中有多少个整数正好有 N-1 个设置位?编写一个返回正确答案的简短函数
- 为什么要定义一个返回结构的 lambda 函数,而不是直接定义结构
- 有没有办法重写一个返回指向 istringstream 的指针的函数,而不是返回一个引用?
- 提升:创建一个返回变体的函数
- C++重载运算符两次,一个返回非常量引用,另一个返回常量引用,首选项是什么
- 我是否应该将最后一个“返回”语句封装为“else { return .. }',如果它在逻辑上是可选的
- 野牛解析器:创建一个返回令牌的函数
- 为什么 C++ 数组的大小不能有一个返回常量的函数调用
- 如何创建一个返回传递的参数名称的函数
- 如何在C++中创建一个返回字节数组的函数?Arduino项目
- 将返回的指针分配给另一个返回的指针
- 如何声明一个返回类型是推导出来的函数
- Constexpr语言 - 为什么只是一个返回语句
- 如何创建一个返回护士函数的函数
- 如何用C包装一个返回智能指针的C++函数
- 如何使用两个函数,一个返回迭代器,另一个返回const_iterator