Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: nou 03. 05. 2011, 11:41:29
-
portujem jeden kod na windows z linuxu. ide to celkom v poriadku jediny problem je v tomto kusku kodu
SubWindowInterface *interface = dynamic_cast<SubWindowInterface*>(subWindow->widget());//383
if(interface){//384
a hadze nasledovne errory
:383: error: expected unqualified-id before 'struct'
:383: error: expected initializer before 'struct'
:384: error: expected primary-expression before 'struct'
:384: error: expected ')' before 'struct'
SubWindowInterface je class s cisto virtualnymi metodami teda class SubWindowInterface { virtual int methodA() = 0;
virtual methodB() = 0;
na linuxe s gcc mi to preklada bez problemov. na windowse s mingw pise taketo podivnosti. dokonca to iste dostanem aj pri crosscompilaci na linuxe s mingw
-
Tipuji, že
interface
bude nějaké makro.
-
Tipuji, že někde nad tím kódem může být syntaktická chyba.
SubWindowInterface je bázová třída typu který vrací metoda widget( )?
-
Tipuji, že interface
bude nějaké makro.
najskor. zmena na interfac pomohla.
widget() vracia QWidget. a v projekte mam triedy ktore maju ako bazovu triedu napr QTextEdit a SubWindowInterface.
-
"interface" je genialni makro zahrabany nekde v COMovejch hlavickach...
-
co je na "#define interface struct" tak geniálního? ;D
-
co je na "#define interface struct" tak geniálního? ;D
Genialni je jeho debilita a zbytecnost.
-
co je na "#define interface struct" tak geniálního? ;D
Genialni je jeho debilita a zbytecnost.
Nakonec proc si celej jazyk nepredelat k obrazu svemu, ze... co treba nasledujici makra:
#define class trida
#define do delej
#define while dokud
#define int cele_cislo
#define void nic
#define template sablona
#define return vyblej
a tak dale..
-
Jde o to, že v jazyce IDL se interface používá. V zásadě ty opravdu plnohodnotně definované interfacy v COM+ se dají pochopit i jako předpis IDL, takže se deklarace nemusí psát víckrát.
Když se podíváte na nějakou takovou definici, tak obsahuje spoustu divných klíčových slov, které jsou ale v C++ deklarovaná jako prázdná makra .