typedef c'est pas pour les variables mais pour les types
Bonjour !
J'ai un petit souci ;)
Je vous explique.
J'ai une structure ( singleton ) inclut dans un namespace avec un pointeur définit en externe.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Design.hpp
namespace Design
{
struct Data : public Singleton< Data >
{
// données
} ;
extern Data * TheData ;
} // namespace Design |
Code:
1 2 3 4 5 6 7
| Design.cpp
#include "Design.hpp"
Design::Data * Design::TheData = nullptr ;
// etc |
Dans une fonction en dehors du namespace "Design" j'utilise le pointeur "TheData" .
Je voulais savoir si au lieu de taper :
Code:
1 2 3
| using namespace Design ;
TheData->Truc ; |
ou
Code:
Design::TheData->Truc ;
je peux utiliser un typedef ?
J'ai évidemment essayé mais le compilateur ( Visual C++ 2008 )dit qu'il y a
une erreur de syntaxe( error C2649 ).
Voilà ce que j'ai essayé
Code:
1 2 3 4 5 6 7 8 9 10 11
| 1 : typedef Design::TheData data ;
2 : typedef Design::TheData * data ;
3 : typedef Design::Data * Design::TheData data ;
4 : typedef struct Design::TheData data ;
5 : typedef struct Design::TheData * data ;
// etc |
En gros, je ne trouve pas la syntaxe correcte.
Je sais que ce que je désire faire est discutable, les premières solution sont suffisament correctes.
Mais je suis curieux .
Quelqu'un pourrait-il m'aider ?
Merci !