[Error] ISO C++ forbids comparison between pointer and integer [-fpermissive]
Ostatnio zmodyfikowano 2016-10-27 08:57
sobol3k Temat założony przez niniejszego użytkownika |
[Error] ISO C++ forbids comparison between pointer and integer [-fpermissive] » 2016-10-26 01:35:27 Piszę małą prosta w gre konsolą lecz z niewiadomych przyczyn nie mogę skompilować swojego kodu. #include <iostream> #include <cstdlib> #include <windows.h>
using namespace std;
int wybierz;
int wybierz_klase;
string wojownik;
int main() { HANDLE hOut; hOut = GetStdHandle( STD_OUTPUT_HANDLE ); cout << "--- Menu Glowne ---" << endl << endl; SetConsoleTextAttribute( hOut, FOREGROUND_GREEN ); cout << "1. Nowa Gra" << endl; SetConsoleTextAttribute( hOut, FOREGROUND_BLUE ); cout << "2. Autorzy" << endl; SetConsoleTextAttribute( hOut, FOREGROUND_RED ); cout << "3. Wyjdz"; SetConsoleTextAttribute( hOut, 7 ); cout << endl << endl; cout << "Wybierz: "; cin >> wybierz; switch( wybierz ) { case 1: { system( "cls" ); cout << "Witamy w kreatorze postaci!" << endl << endl; cout << "Wojownik"; SetConsoleTextAttribute( hOut, 3 ); cout << " - Posiada miecz i oraz duze obrazenia z atakow fizycznych" << endl; SetConsoleTextAttribute( hOut, 7 ); cout << "Mag"; SetConsoleTextAttribute( hOut, 6 ); cout << " - Posiada wysoki poziom mocy umiejetnosci oraz malo ilosc zycia" << endl; SetConsoleTextAttribute( hOut, 7 ); cout << "Olbrzym"; SetConsoleTextAttribute( hOut, 5 ); cout << " - Bardzo mocny i wytrzymaly duza ilosc zycia i pancerzu" << endl << endl; SetConsoleTextAttribute( hOut, 7 ); cout << "Wybierz klase postaci: "; cin >> wybierz_klase; if((( wybierz_klase != "Wojownik" ) &&( wybierz_klase != "Mag" ) &&( wybierz_klase != "Olbrzym" ) ) ) { cout << "Nie ma takiej klasy!"; } } break; case 2: { system( "cls" ); cout << "Autor: xxx"; } case 3: { system( "cls" ); exit( 0 ); } break; default: cout << "Blad wyboru! Spruboj Ponownie"; break; } return 0; }
|
|
ArgonZapan |
» 2016-10-26 01:40:29 Wrzuć w znaczniki [cpp.][./cpp] i wklej to co wywala przy kompilowaniu :) |
|
ArgonZapan |
» 2016-10-26 01:48:16 #include <iostream> #include <stdlib.h> #include <string> #include <windows.h>
using namespace std;
int wybierz;
string wybierz_klase;
string wojownik;
int main() { HANDLE hOut; hOut = GetStdHandle( STD_OUTPUT_HANDLE ); cout << "--- Menu Glowne ---" << endl << endl; SetConsoleTextAttribute( hOut, FOREGROUND_GREEN ); cout << "1. Nowa Gra" << endl; SetConsoleTextAttribute( hOut, FOREGROUND_BLUE ); cout << "2. Autorzy" << endl; SetConsoleTextAttribute( hOut, FOREGROUND_RED ); cout << "3. Wyjdz"; SetConsoleTextAttribute( hOut, 7 ); cout << endl << endl; cout << "Wybierz: "; cin >> wybierz; switch( wybierz ) { case 1: { system( "cls" ); cout << "Witamy w kreatorze postaci!" << endl << endl; cout << "Wojownik"; SetConsoleTextAttribute( hOut, 3 ); cout << " - Posiada miecz i oraz duze obrazenia z atakow fizycznych" << endl; SetConsoleTextAttribute( hOut, 7 ); cout << "Mag"; SetConsoleTextAttribute( hOut, 6 ); cout << " - Posiada wysoki poziom mocy umiejetnosci oraz malo ilosc zycia" << endl; SetConsoleTextAttribute( hOut, 7 ); cout << "Olbrzym"; SetConsoleTextAttribute( hOut, 5 ); cout << " - Bardzo mocny i wytrzymaly duza ilosc zycia i pancerzu" << endl << endl; SetConsoleTextAttribute( hOut, 7 ); cout << "Wybierz klase postaci: "; cin >> wybierz_klase; if((( wybierz_klase != "Wojownik" ) &&( wybierz_klase != "Mag" ) &&( wybierz_klase != "Olbrzym" ) ) ) { cout << "Nie ma takiej klasy!"; } } break; case 2: { system( "cls" ); cout << "Autor: xxx"; } case 3: { system( "cls" ); exit( 0 ); } break; default: cout << "Blad wyboru! Spruboj Ponownie"; break; } return 0; } wybierz_klase -> zadeklarowałes jako int, a chciałeś wsadzić tam string. Bez dodania biblioteki "string", nie działa operator >> dla stringów. |
|
carlosmay |
» 2016-10-26 09:02:00 Bez dodania biblioteki "string", nie działa operator >> dla stringów. |
Nie wszędzie. GCC ma zdefiniowany operator >> i << dla string w nagłówku <iostream>. |
|
Monika90 |
» 2016-10-26 16:44:25 To nie ważne co ma GCC, używasz std::string to piszesz #include <string>, takie są zasady. |
|
sobol3k Temat założony przez niniejszego użytkownika |
» 2016-10-27 01:47:59 Przepraszam wszystkich za durny temat bo problem okazał sie duzą błachostką. Szczególnie dziękuje za pomoc użytkownikowi ArgonZapan :) Można zamknąć! |
|
carlosmay |
» 2016-10-27 08:57:38 To nie ważne co ma GCC, używasz std::string to piszesz #include <string>, takie są zasady. |
Nie podważam zasad. |
|
« 1 » |