Main должен возвращать значение

Я работал над книгой «Программирование: принципы и практика с использованием C ++», и этот пример был призван показать, как данные могут быть потеряны при преобразовании типов. Но когда я пытался выполнить его, он все время говорил мне «Main»: должен вернуть значение. Я пытался использовать «return 0;» после фигурной скобки для цикла while, но затем он выдавал ошибки вокруг «Unresolved externals».

Я скопировал код из книги в 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";
}
}

-6

Решение

Я пытался использовать «return 0;» после фигурной скобки для цикла while, но затем он выдавал ошибки вокруг «Unresolved externals».

Это отдельная, не связанная с этим проблема, раскрытая путем исправления первой. Добавьте возврат, затем разберитесь с нерешенной внешней ошибкой.

3

Другие решения

Если это вся ваша программа, вы нерешенный внешний скорее всего 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;
}
-1

По вопросам рекламы [email protected]