Je construis une partie d'un simulateur. Nous construisons à partir d'un simulateur de legs, mais allant dans la direction différente, incorporant des morceaux vivants le long du côté des morceaux simulés. La pièce sur laquelle je travaille doit effectivement acheminer les commandes du contrôleur central vers les différents bits.Et maintenant pour un changement complet de direction des pointeurs de fonction C++
Dans le code hérité, il existe un tableau const rempli avec un type énuméré. Une commande arrive, elle est recherchée dans la table, puis expédiée vers une instruction de commutateur avec le type énuméré. L'énumération de type a un choix VALID_BUT_NOT_SIMULATED, qui est effectivement un no-op du point de la simulation. J'ai besoin de transformer ces no-ops en commandes à d'autres choses réelles [nouveaux bits simulés | live bits]. Les nouveaux trucs et les trucs en direct ont des interfaces différentes que les vieux trucs [ce qui me fait rire au sujet du travail de shill qu'il a fallu pour que tout cela arrive, mais c'est un sujet pour une discussion différente]. J'aime le tableau parce que c'est une description très juste du truc en direct que ce morceau simule [circuits de verrouillage par ligne et colonne]. J'ai pensé que j'essaierais de remplacer les types énumérés dans le tableau par des pointeurs vers des fonctions et de les appeler directement. Ce serait à la place de la recherche + commutateur.
Comment avez-vous l'intention d'appeler ces fonctions via le pointeur de rappel? –
Vous avez décrit une solution technique impossible - essayez de décrire le problème réel. –
C'est une bonne question qui est probablement saillant. Je vais mettre à jour ma question parce que ça va prendre un peu de place. – David