programmeur C++ novice ici. J'utilise le code source Recettes numériques (V3) dans le cadre d'un projet C++ modulé plus grand.Pourquoi n'y a-t-il pas de protecteur d'inclusion dans les fichiers d'en-tête Numerical Recipes?
Alors que je vais essayer de ne pas entrer dans les détails de mon problème, je suis curieux de savoir pourquoi ces fichiers d'en-tête NR n'incorporent pas de gardes d'en-tête? Je suis conscient que cette question est très spécifique à ceux qui ont utilisé ce code dans le passé, mais en regardant les forums NR, ils semblent tout à fait inactifs ...
Les erreurs que je trouve avec mon code qui a provoqué cette question sont;
erreur LNK2005: "void __cdecl gaussj (classe NRmatrix &)" déjà défini dans Schmidt_V2_ (Zeta) .obj
erreur LNK2005 (gaussj @@ YAXAAV $ NRmatrix @ N @@@ Z?): " vide __cdecl gaussj (classe NRmatrix &, classe NRmatrix &) »(? gaussj @@ YAXAAV? $ NRmatrix @ N @ @@ 0 Z) déjà défini dans Schmidt_V2_ (Zeta) .obj
Le code recettes numériques n'est pas de la plus haute qualité et c'est un euphémisme. Je crois également qu'il existe de sévères restrictions sur la réutilisation du code. – rubenvb
C'est parce qu'ils sont très méchants. Leur insistance sur les tableaux 1-base (due au port de Fortran) est particulièrement irritante. Mais le code est testé et testé, il vaut donc la peine d'utiliser, parfois. – Bathsheba
Excepté pour être bien débogué dans les parties numériques, Numerical Recipies in * code est fondamentalement un exemple de comment * pas * pour écrire du code. –