Bonjour � tous,

J'ai un petit souci avec les variables static locales � une fonction et le linker sous Visual .NET. J'ai une biblioth�que static (un .lib donc) contenant une fonction du type :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
//dans le .h :
 
typedef Factory<int,Model*> ModelFactory;
ModelFactory& getModelFactory();
 
//dans le .cpp :
ModelFactory& getModelFactory() {
    static ModelFactory factory;
    return factory;
}
Cette fonction est appel�e pour initialiser diff�rentes variables static de classes de cette librairie et tout se passe bien, c'est bien la m�me factory qui est retourn� � chaque fois.

J'ai une autre biblioth�que qui lie avec la premi�re. Lorsque j'appelle la fonction getModelFactory() depuis le code de cette deuxi�me librairie (donc l'instance locale � la fonction est sens�e avoir �t� initialis� puisque ls variables static sont initialis�es au tout d�but), il me r�instancie l'objet factory au lieu de me retourner l'objet d�j� instanci�.

Quelqu'un saurait � quoi cela est d� ? Merci d'avance.