Błąd w poradniku?

0

Dzień dobry, przypominam sobie podstawy c++, w poradniku jest przykład

 #include <iostream>
 #include <conio.h> 
void Dodaj(int nWartosc1, int nWartosc2) 
{  
int nWynik = nWartosc1 + nWartosc2;  
std::cout << nWartosc1 << " + " << nWartosc2 << " = " << nWynik;  
std::cout << std::endl; 
} 
void main()
{ 
 int nLiczba1; 
 std::cout << "Podaj pierwsza liczbe: "; 
 std::cin >> nLiczba1; 
 int nLiczba2;  
 std::cout << "Podaj druga liczbe: ";  
 std::cin >> nLiczba2; 
 Dodaj (nLiczba1, nLiczba2);  
 getch(); 
} 

Wyskakuje mi błąd, że main powinno zwrócić inta a nie void. Lecz w poradniku jest void main. Moim zdaniem dziwne też, że każe zwrócić inta skoro wyświetla to tylko jako tekst.

0

zamień void main() na int main()

0

Ten poradnik jest sprzed 25 lat?

musi być int main.

Moim zdaniem dziwne też, że każe zwrócić inta skoro wyświetla to tylko jako tekst.

Tak, to jest głupie.

0

Zgodnie z tym co piszą powyżej, main musi zwracać inta.
https://isocpp.org/files/papers/n4296.pdf - sekcja 3.6.1

0

Tak wiem, napisałem, że działa jak zmienię void na int. Tylko zastanawiało mnie to. Poradnik w sumie to jakiś pdf na necie z poznańskiej szkoły, nie wiem czy mogę wkleić link http://www.cs.put.poznan.pl/arybarczyk/Kurs%20C++.pdf

Czy posiadacie coś bardziej aktualnego zatem do nauki? :)
Bardzo bym dziękował

1

funkcja main powinna zwracać typ int nawet jeżeli jest to tekst, a to dlatego, że jest to informacja, że funkcja wykonała się prawidłowo np

int main(void)
{
     //ciało funkcji

return 0;
}
3

Funkcja main jest wyjątkowa. Jej typ zwracany służy nie tyle programiście, co systemowi. Różne programy uruchamiają inne procesy i sprawdzają tę wartość z main, np. Jenkins. Jeśli mój program nie zwróci zera, Jenkins pokaże chmurkę i reszta zadań w skrypcie nie wykona się (można to obejść).
Ciężko polecić coś nowszego, żeby autor pisał o C++ i systemach operacyjnych.

1 użytkowników online, w tym zalogowanych: 0, gości: 1