|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||||
|
Membre du Club
![]() Étudiant Inscription : septembre 2005 Messages : 140 ![]() |
Bonsoir,
Je développe à mes heures perdues une application basée sur l'utilisation de la bibliothèque MKL (Math Kernel Library). Mon projet se compose des fichiers suivants : Citation:
Pour mon fichier cxx_math_utils.h : Code :
Code :
Lorsque je compile mon projet (via icpc) au moyen de la commande : Citation:
Citation:
Lorsque j'insère le prototype de la classe dans le fichier cxx_math_utils, en ajoutant simplement class t_matrix;, ça fonctionne mais ça reste du bricolage. Que faire ? En vous remerciant d'avance, Nicolas. |
|||||||
|
|
00
|
|
|
#2 | ||||
|
Membre éprouvé
![]() Eric Inscription : décembre 2010 Messages : 254 ![]() |
A ce qu'il me semble, une déclaration de classe doit se terminer par un ;
L'accolade fermante des namespaces doit également être suivie de d'un ; Peut-être ceci explique-t-il que ta déclaration de classe ne soit pas correctement reconnue. Code :
Code :
|
||||
|
|
00
|
|
|
#3 |
|
Membre expérimenté
![]() Léo GaspardLycéen Inscription : janvier 2012 Messages : 342 ![]() |
De mémoire, l'accolade fermante des namespaces ne nécessite pas d'être suivie d'un ';'.
Le réel souci ici est autre : cxx_math_matrix inclut cxx_math_util qui inclut cxx_math_matrix. Avec les include guards, l'un des deux ne pourra donc pas connaître l'autre à l'avance. La solution est donc de passer à une forward declaration. |
|
|
00
|
|
|
#4 |
|
Membre éprouvé
![]() Eric Inscription : décembre 2010 Messages : 254 ![]() |
Oops...
@Nadd: par ailleurs, les forward declarations ne sont pas une bidouille en C++, c'est ce qu'il faut utiliser le plus possible: tant que tu n'as pas besoin (appel de fonctions ou constructeur, utilisation de membres dans une classe friend...) de la déclaration complète, il vaut mieux utiliser une simple forward declaration, ça limite la dépendance entre fichiers, avec des effets positifs en terme de temps de compilation (moins de recompilation en cas de modification de la classe). |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Étudiant Inscription : septembre 2005 Messages : 140 ![]() |
Merci beaucoup ! :
Nadd. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com