Zdravím,
mám problém při kompilaci herního serveru na linuxu. Píše to chybky na pár řádcích .
kod je v c++
Výpis kompilátoru:
-----
/mnt/rot/Dev/Header/Types/aDynArray.h: In member function ‘void aDynStepArray<TYPE, STEP>::Add(TYPE)’:
/mnt/rot/Dev/Header/Types/aDynArray.h:290: error: there are no arguments to ‘_AddNewElem’ that depend on a template parameter, so a declaration of ‘_AddNewElem’ must be available
/mnt/rot/Dev/Header/Types/aDynArray.h:290: error: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/mnt/rot/Dev/Header/Types/aDynArray.h:291: error: ‘elem’ was not declared in this scope
/mnt/rot/Dev/Header/Types/aDynArray.h:291: error: ‘no’ was not declared in this scope
/mnt/rot/Dev/Header/Types/aDynArray.h: In member function ‘void aDynStepArray<TYPE, STEP>::AddIndexedPnt(TYPE)’:
/mnt/rot/Dev/Header/Types/aDynArray.h:297: error: ‘no’ was not declared in this scope
/mnt/rot/Dev/Header/Types/aDynArray.h:298: error: there are no arguments to ‘_AddNewElem’ that depend on a template parameter, so a declaration of ‘_AddNewElem’ must be available
/mnt/rot/Dev/Header/Types/aDynArray.h:299: error: ‘elem’ was not declared in this scope
/mnt/rot/Dev/Header/Types/aDynArray.h: In member function ‘void aDynStepArray<TYPE, STEP>::AddIndexedElem(TYPE)’:
/mnt/rot/Dev/Header/Types/aDynArray.h:306: error: ‘no’ was not declared in this scope
/mnt/rot/Dev/Header/Types/aDynArray.h:307: error: there are no arguments to ‘_AddNewElem’ that depend on a template parameter, so a declaration of ‘_AddNewElem’ must be available
/mnt/rot/Dev/Header/Types/aDynArray.h:308: error: ‘elem’ was not declared in this scope
/mnt/rot/Dev/Header/Types/aDynArray.h: In member function ‘void aDynStepArray<TYPE, STEP>::AddBlank()’:
/mnt/rot/Dev/Header/Types/aDynArray.h:314: error: there are no arguments to ‘_AddNewElem’ that depend on a template parameter, so a declaration of ‘_AddNewElem’ must be available
Nevím jak vyřešit tyto chybky pokud by někdo věděl byl bych mu vděčnej.
Fórum › C / C++
Chyba při kompilaci
Ja to vidim tak, že buď nedodržoval štandarty ten nástroj ktorým si to skúšal kompilovať ty, alebo ten ktorým to kompiloval autor. Stavim sa že to nebudu zložite chyby, možno len obor platnosti premennych v cykle for(;;). Pozri sa na deklaraciu premennych "no" a "elem", keď tak ich deklaruj.
Ono to haze chybu v druhy tride,ktera dedi z ty prvni.A jestli se nepletu,tak ty promenne no a elem jdou pod protected a tim padem by nemely jit zdedit.Mozna muze bejt chyba v tomhle.
Mno stím kompilátorem zkošel sem to s Kdevelop 3.5 zkusím starší verzi. JInak deklaraci pres direktivu myslím mám.
Jinak to stím nedodržováni standartu to nějak nehápu můžete to nějak prosím vysvětlit?
A nestačilo by použít -fpermissive ? aby se to vazlo jako waring?
Tohle neni chyba,ktera by se dala pouzit jako warning.Stejne by ti to nekde crashlo.Spis zkus prehodit ty promenne z protected na public.
Nedodrzovanim standartu je myslene to,ze ne vsechny prekladace prekladaji kod stejne.Nektere muzou podporovat nejaky zapis,nektere ne.Momentalne si ale nevzpomenu na zadny priklad.
Jestli muzes,dej sem cele zdrojaky,zkusim je zkompilovat u sebe.
Mam ho v profilu,tak se mi ozvi.
dannyk napsal:
Ono to haze chybu v druhy tride,ktera dedi z ty prvni.A jestli se nepletu,tak ty promenne no a elem jdou pod protected a tim padem by nemely jit zdedit.Mozna muze bejt chyba v tomhle.
na protected prvky(promenny) muze samozrejme potomek sahat.
Uznavam,moje chyba,z nejakeho duvodu sem mel protected jako private.Mas pravdu,znova sem si precetl poradne info.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Chyba při kompilaci — založil michal
Chyba při kompilaci — založil remmidemmi
Chyba při kompilaci — založil sXe
Chyba při kompilaci DEV-C++ — založil Jirka
#Develop, chyba při kompilaci — založil Luk4Senko
Moderátoři diskuze