Je souhaite écrire une classe en C++ dans laquelle l'un des paramètres est bitset<size>
. Je veux donner la possibilité de varier cette "taille" pour n'importe quel objet de cette classe mais devrait être constant pour cet objet.Problème pour la classe de modèle <class_name> qui a un bitset comme argument
Si je fais une variable const int size;
et l'initialiser dans le constructeur, il ne compile pas parce que writiting bitset<size>
nécessiterait size
être statique qui rendrait même pour tous les objets de la classe.
Existe-t-il une autre méthode que de créer un modèle de classe et de lui donner la taille classname<size>
?
merci mais .. mais cela rend ces objets de classe Foo chaque fois qu'ils sont utilisés en tant que composition (objet comme membre de données) ... serait-il nécessaire de faire à nouveau ce modèle de classe. J'ai fait une classe et Passé un (#define BIT_SIZE 16 à Foo bits;) il donne des erreurs de compilation référence indéfinie à Foo < 16> :: Foo(). où Foo() est le constructeur. Je pensais que cela devrait fonctionner parce que c'est aussi le temps de compilation. et je voulais juste faire seulement des bits de taille BIT_SIZE. devrais-je faire mon modèle de classe "niveau suivant" ?? il se peut que ces erreurs aient été causées par d'autres erreurs. mais j'ai vérifié encore et encore.
oui monsieur, je l'ai mis en œuvre et que, mais inclus les fichiers d'en-tête et pas les fichiers cpp .......... quand je l'ai changé ces fichiers cpp ... plusieurs erreurs de déclaration est intervenue. Je travaille sur Linux Ubuntu .. quand j'ai pris ces fichiers à dev_cpp dans les fenêtres qui ont fonctionné. peut-être parce que le compilateur a fait automatiquement ce que je dois faire. alors qu'est-ce que je dois faire.
Quelle est cette conversation dans votre question? À qui répondez-vous? –