Mam bardzo prosty kodzik do przetestowania (bardziej chodzi mi o poruszanie się w VS tak na prawdę), który na 100% jest poprawny składniowo (nie dość, że jest na tyle prosty, że nie ma gdzie zrobić błędu, to jeszcze napisany przez mojego wykładowcę jako przykład...), ale mimo to VS nie chce mi go skompilować. Podejrzewam, że albo tworzę źle projekt, albo mam jakieś złe ustawienia (przy okazji, kolegom z roku też wyskakują te same błędy...). Jako że jest krótki i prosty, pozwolę sobie go wkleić w całości:
#if defined(POL) && defined(FRA)
#error Please define only one country
#elif !(defined(POL) || defined(FRA))
#error Please define a country
#endif
#ifdef POL
#define country "Poland"
#define capital "Warsaw"
#elif defined(FRA)
#define country "France"
#define capital "Paris"
#endif
#include <iostream>
using namespace std;
int main() {
cout << capital << " is the capital of "
<< country << "." << endl;
}
VS podkreśla mi na czerwono #error, capital i country. Nie wiem czemu, ale przy #error kiedy usuwam '!' z linijki wyżej to jest już wszystko ok - czyli tak jakby VS nie rozumiał negacji... Przy capital i country wydaje się jakby z kolei nie rozumiał #define, napisanego wcześniej, bo wyświetla błąd: "indetifier capital is undefined"...
Projekt tworzę następująco: Plik->nowy->projekt->pusty projekt, potem PPM na Pliki źródłowe->dodaj->nowy element->plik C++. Próbowałem jeszcze Plik->nowy->projekt->Aplikacja konsoli Win32, ale jest to samo...