Problem z obsługą Visual C++ 2010 Express dla C++


(szymon189) #1

Pobrałem sobie Visual C++ 2010 Express. Tworzę sobie projekt tak jak opisane jest tutaj. Niestety czasem pojawia mi się taki problem i przy kompilacji pojawiają się takiego typu błędy:

Link do obrazku

#include 


using namespace std;


int main()

{

   int ocena1, ocena2, (...) ocena15;


   cout <<"Podaj oceny\n";

   cin >>ocena1>>ocena2 (...) >>ocena15;

   cin.ignore();


   int srednia;

   srednia = (ocena1 + ocena2 (...) +ocena15) / 15;


   cout <<"Srednia wynosi: "<

   return 0;

}

Pod innym kompilatorem np. wxDev-C++ jest wszystko ok. Co robię źle?


(Marekglapa) #2

Mi w visual studio pojawił się podobny błąd i pomogło utworzenie nowego projektu, skopiowanie kodu do niego i zapisanie tego w jednym miejscu.


(nnick) #3

Kompilator dokładnie powiedział o co mu chodzi. Skopiowałeś jakiś przykładowy kod, prawda? Przeczytaj go, przeczytaj co kompilator wywala. Podpowiedź:

autor kodu musiał być baaardzo leniwy.


(Sawyer47) #4

Kod, który podałeś nie jest poprawnym kodem C++, to po pierwsze. Po drugie, raczej nie brałbym przykładowych kodów stamtąd skąd wziąłeś (chyba, że to przykład dydaktyczny, czego powinno się unikać, wtedy ok).


(Ryan) #5

Widzisz co jest napisane u dołu okna z logiem? 0 succeeded, 1 failed. To znaczy, że kod nie był poprawny i nie skompilował się. W takiej sytuacji EXE nie zostaje utworzone, więc próba uruchomienia daje w rezultacie komunikat błędu "Nie można odnaleźć określonego pliku". Serio, wystarczy czytać, żeby wiedzieć co się dzieje. Co więcej edytor kodu podkreśla Ci błędy i podkreśla ich całe stado. Nic dziwnego, że kompilacja się nie powiodła. W C++ nie ma takiej konstrukcji jak (...)*. Ktoś, kto napisał ten (kiepski) przykład, postanowił iść na skróty i zamiast tworzyć 15 zmiennych, zdać się na inteligencję czytelnika. Niestety Ty kodu przed skopiowaniem nie przeczytałeś, więc nie dałeś sobie nawet szansy na znalezienie problemu.

Czytać, czytać i jeszcze raz czytać: to co się wkleja, to co dostaje się w logach, to co pokazują komunikaty błędów. Czytać.

* kłamię; może wystąpić w pewnych sytuacjach, ale nie na liście zmiennych w ciele funkcji, ale VA Cię nie powinno w tej chwili interesować


(szymon189) #6

Zrobiłem błąd podając błędy kod, ale sprawdzałem gotowe z internetu czy zadziałają.. Miał być ten:

#include 

using namespace std;


int main()

{

  cout << "Hello!" << endl;

  return 0;

}

Tutaj w kodzie błędu nie widzę a Visual pokazuje mi takie komunikaty:


(Wojtekbogocki) #7

Aha bo program się skompilował i uruchomił, a po uruchomieniu zamknął xD

#include 

using namespace std;


int main()

{

  cout << "Hello!" << endl;

  cin.sync();

  cin.get(); // wstrzymuje ci program do momentu wciśnięcia jakiegoś klawisza

  return 0;

}