Je suis en VS 2003, framework 1.1.
Moi, ^ provoque une erreur � la complilation et je dois utiliser * � la place.
En fait, j'ai une classe manag�e "program" qui est en quelque sorte la racine de mon fichier XML. Elle contient ,entre autres, un vecteur de variables globales de taille variable ( que je n'arrive toujours pas � faire vu que vector est non manag�, et que System::Collections::Generic::List ne m'est pas disponible.
Lorsque j'essaye de cr��r PG en global comme ceci :
static program __gc * PG = __gc new program() ;
j'obtiens
"cannot declare a global or static managed type object or a __gc pointer"
J'ai m�me essay� de faire une classe qui ne comprend que PG, mais �a donne le m�me r�sultat.
Mon .cpp principal est organis� comme ceci :
** Variables globales ( c'est ici que je veux mettre PG )
** namespace {
.... contient des fonctions qui utilisent PG, elles instancient les objets issus du parsing
}
** Ensuite une grammaire de parsing :
1 2 3 4 5 6 7 8 9
| struct cga_grammar : public grammar<cga_grammar>
{
template <typename ScannerT>
struct definition
{
definition(cga_grammar const& /*self*/)
{ ... }
}
} |
** Enfin, le main qui lance le parsing et serialise en XML
Le fait de mettre PG dans le main ne convient pas car il n'est pas alors accessible dans les fonctions du name space ......
J'esp�re avoir �t� clair, merci encore
Partager