File1.hRun résolution temporelle C++ conflits Namespace
// Declaration
Class A
{
void Func();
}
//Along with some other stuff
file1.cpp
//Definition
A::Func()
{
}
// Along with some other stuff
File2.h
class A
{
void Func();
}
File2.cpp
// Definition
File2::A::Func()
{
}
File3.cpp
#include "File1.h"
#include "File2.h"
//
Invokes Func()
Main1.cpp Main2.cpp
Main1.cpp File3.cpp et File2.cpp sont construits ensemble
Main1.cpp File3.cpp et File1.cpp sont construits ensemble
Je veux invoquer Func()
en fonction de différer Mais, cela me donne une erreur de compilation.
Comment devrais-je contourner l'erreur de compilation?
Existe-t-il un moyen standard de contourner le problème?
Si j'utilise un espace de noms pour File1 et File2, je ne pourrai pas invoquer dynamiquement. Note: Je ne peux pas changer File1.h
Vous pouvez inclure l'erreur de compilation dans votre question. – imaginaryboy
Pouvez-vous expliquer davantage comment vous espérez utiliser ces définitions de classe en double et «invoquer dynamiquement»? À l'heure actuelle, cela ressemble à quelque chose qui ne fonctionnera jamais comme souhaité. – TheUndeadFish
File1 et File2 ne sont pas des espaces de noms. Il n'y a pas de résolution d'exécution des espaces de noms. La classe en C++ commence comme "class" et non "Class". Définition de la fonction doit spécifier le type de retour et ainsi de suite ... – Chubsdad