Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

Belfrog

Rozwiązany: C++ - błąd podczas kompilacji programu

Polecane posty

Używam programy vc2008

Gdy wpisuje:

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

To wyskakuje mi błąd przy kompilacji:

c:\program files\microsoft visual studio 9.0\vc\include\ostream(760) : error C2958: the left parenthesis '(' found at 'c:\program files\microsoft visual studio 9.0\vc\include\ostream(748)' was not matched correctly

Co zrobić ??

Zapoznaj się z zasadami nazywania tematów. - Sevard

Link do komentarza
Udostępnij na innych stronach

Nie wiem, czy to pomoże, ale widzę dwa błędy.

1. Funkcja main() powinna zwracać wartość int, a nie void. Nie mam pojęcia czemu MS na siłę próbuje rozwalić standardy.

2. No właśnie, funkcja powinna coś zwracać. Gdzie return?

Uwaga numer 1 pewnie nie pomoże, ale miło by było, gdybyś programując trzymał się standardów. Uwaga numer 2 być może pomoże. Za pomocą g++ udało mi się skompilować kod po zmienieniu powyższych rzeczy i wykomentowaniu rzeczy specyficznych dla Windowsa (conio.h i getch()).

Link do komentarza
Udostępnij na innych stronach

Ja dodam od siebie, że na bardzo wstępnym kursie C++, serwowanym na niektórych uczelniach (np. mojej) program zaczyna się od właśnie

void main(void)

z tego względu, że z założenia ma być on bardzo prosty. Z tym że u nas używa się borlanda, więc u Ciebie to może wyglądać nieco inaczej.

Link do komentarza
Udostępnij na innych stronach

Powinno to wyglądać tak:

#include <iostream>
#include <conio.h>
int main()
{
int nLiczba1;
std::cout << "Podaj pierwsza liczbe: ";
std::cin >> nLiczba1;
int nLiczba2;
std::cout << "Podaj druga liczbe: ";
std::cin >> nLiczba2;
int nWynik = nLiczba1 + nLiczba2;
std::cout << nLiczba1 << " + " << nLiczba2 << " = " << nWynik;
getch();
return 0;
}

Jeśli nie zadziała, to spróbuj skompilować to, co podał Mormegil.

Tak przy okazji warto użyć przestrzeni nazw, coby cały czas nie pisać "std::".

@UP Co jest błędem, standard ISO C++ (w przeciwieństwie do C) mówi wyraźnie co ma zwracać funkcja main(), to że MS i Borland się do tego nie stosują świadczy tylko o ich produktach. Ale to temat na nieco inną dyskusję.

Link do komentarza
Udostępnij na innych stronach

Udało mi się to naprawić... Po zastosowaniu się do waszych wskazówek nie udało mi się tego naprawić xD Ale widząc ,że w kodzie jest wszystko ok więc obwiniłem program. I poskutkowało, po przeinstalowaniu go udało mi się... Dzięki za pomoc!! Temat do zamknięcia!

Link do komentarza
Udostępnij na innych stronach

Gość
Temat jest zablokowany i nie można w nim pisać.


  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...