Skocz do zawartości

Error przy kompilacji


Farkraj

Rekomendowane odpowiedzi

Witam.. zaczynam dopiero z C++ i próbowałem napisać sobie takie przeliczanie ataku zależni od wpisanej siły ale wyskakuje mi błąd "#warning This file includes at least one deprecated or antiquated header. \"

 

wydaje mi się że wszsytko jest ok.. ale zobaczcie gdzie zrobiłem błąd :(

GML
#include <iostream.h>

main()

{

int sila;

 

float atak;

float obrona = 0.3;

 

cout << "Podaj sile";

cin >> sila;

 

atak = sila * obrona;

cout << endl;

 

cout << sila << " sily to jest : "

<< atak << " ataku\n ";

}

 

no i do tego nie pojawia mi sie wynik tylko zamyka program :(

Odnośnik do komentarza
Udostępnij na innych stronach

Wut? Mam Symfonię C++ i wszędzie pisze bez ".h"

 

E: Pewnie masz jakieś inne wydanie.

 

Z jakieś angielskiej strony:

Although the <iostream.h> library was deprecated for several years, many C++ users still use it in new code instead of using the newer, standard compliant <iostream> library. What are the differences between the two? First, the .h notation of standard header files was deprecated more than 5 years ago. Using deprecated features in new code is never a good idea. In terms of functionality, <iostream> contains a set of templatized I/O classes which support both narrow and wide characters. By contrast, <iostream.h> classes are confined to char exclusively. Third, the C++ standard specification of iostream's interface was changed in many subtle aspects. Consequently, the interfaces and implementation of <iostream> differ from <iostream.h>. Finally, <iostream> components are declared in namespace std whereas <iostream.h> components are declared in the global scope. Because of these substantial differences, you cannot mix the two libraries in one program. As a rule, use <iostream> in new code and stick to <iostream.h> in legacy code that is incompatible with the new <iostream> library.
Odnośnik do komentarza
Udostępnij na innych stronach

void przed main to chyba jakieś przyzwyczajenie od Visual C++.

 

Standardowo musi być int. Chodzi o to, aby można było przechwycić jakimś innym skryptem, czy wykonanie programu się powiodło (jeśli tak to main() powinno zwracać 0), czy nie (wtedy jakaś inna liczba).

Odnośnik do komentarza
Udostępnij na innych stronach

#include <iostream>
using namespace std; // brakowało tego
int main() // brakowało int
{
int sila;

float atak;
float obrona = 0.3;

cout<< "Podaj sile:\n " << endl; // Edit: to ni brakowało jeszcze "<<endl;" w tej linijce.
cin >> sila;

atak = sila * obrona;
cout << endl;

cout << sila << " sily to jest : "
<< atak << " ataku\n ";

system("pause"); // tego nie było
return 0; // i tego tez nie
}

 

Jak na tak banalnie prosty program to zrobiłeś cholernie dużo błędów.

Odnośnik do komentarza
Udostępnij na innych stronach

cout<< "Podaj sile:\n " << endl; // Edit: to ni brakowało jeszcze "<<endl;" w tej linijce.

przecież endl jest tym samym co "\n"

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...