[SFML] [C::B] błąd parsera przy kompilacji
Ostatnio zmodyfikowano 2012-10-11 13:11
draculeq Temat założony przez niniejszego użytkownika |
[SFML] [C::B] błąd parsera przy kompilacji » 2012-10-10 22:13:30 podczas kompilacji wyskakuje błąd:
C:\SFML-1.6 CB\include\SFML\System\Unicode.hpp|85|parse error before `&' token|
C:\SFML-1.6 CB\include\SFML\System\Unicode.hpp|97|parse error before `)' token|
C:\SFML-1.6 CB\include\SFML\System\Unicode.hpp|97|ISO C++ forbids declaration |
Co może być nie tak? ;/
|
|
cyklopek11 |
» 2012-10-10 22:29:44 Myślę, że jasnowidzów tutaj raczej nie ma, ale to co można wywnioskować na podstawie przedstawionych przez Ciebie danych to: - w 85 linijce błędnie użyty '&' - w 97 linijce błędnie użyty ')' (czy jest tyle samo nawiasów otwierających co zamykających?) - w 97 linijce jest deklaracja której zabrania standard
|
|
draculeq Temat założony przez niniejszego użytkownika |
» 2012-10-10 22:34:58 Plik oryginalny ze źródeł SFML
jego fragment:
79 Text(const char* Str);
80 Text(const wchar_t* Str);
81 Text(const Uint8* Str);
82 Text(const Uint16* Str);
83 Text(const Uint32* Str);
84 Text(const std::string& Str);
85 Text(const std::wstring& Str);
86 Text(const Unicode::UTF8String& Str);
87 Text(const Unicode::UTF16String& Str);
88 Text(const Unicode::UTF32String& Str);
89
90 ////////////////////////////////////////////////////////////
91 /// Operator to cast the text to any type of string
92 ///
93 /// \return Converted string
94 ///
95 ////////////////////////////////////////////////////////////
96 operator std::string () const;
97 operator std::wstring () const;
98 operator Unicode::UTF8String () const;
99 operator Unicode::UTF16String () const;
100 operator const Unicode::UTF32String&() const;
|
|
|
cyklopek11 |
» 2012-10-10 23:04:40 Diagnoza: Nie znam się kompletnie na bibliotece SFML ale przeprowadzone badania :-) wskazują, że Twój C::B nie rozpoznaje std::wstring. Mój C::B rozpoznaje i to nawet bez includowania <string> i po zamknięciu pokazanego przez Ciebie kodu w klasę (i wytłumaczeniu mu co to jest np Uint8) łyka kod jak ciepłe buły (w moim C::B zawsze mam wszystko ustawione na "strict" i "pedantic" ze standardem 98 więc jak ten kod łyka to musi być dobrze). Stwórz nowy projekt i sprawdź czy się kompiluje takie coś: #include <string>
std::wstring test;
int main() { return 0; }
|
|
draculeq Temat założony przez niniejszego użytkownika |
» 2012-10-11 11:05:42 No i się nie kompiluje
||=== wstring, Debug ===|
C:\...\wstring\main.cpp|3|syntax error before `;' |
||=== Build finished: 1 errors, 0 warnings ===|
|
|
|
cyklopek11 |
» 2012-10-11 13:11:57 Więc wszystko jasne Twój C::B nie rozpoznaje std::wstring. Teraz musisz dojść dlaczego? Sama biblioteka SFML w tym momencie nie ma nic do gadania. Czy grzebałeś coś w katalogu include C::B ??? Jeśli w wyrażeniu: std::wstring zaznaczysz myszką: wstring i naciśniesz prawy klawisz myszy: Find declaration i nie otworzy Ci się plik nagłówkowy w stylu (nie mam w chwili obecnej dostępu do C::B) basic_string.h czy coś podobnego to znaczy że brakuje ci tego pliku nagłówkowego. |
|
« 1 » |