Ne peut pas ouvrir le fichier include: 'vecteur.h': Aucun fichier ou répertoire
En haut du fichier, j'ai:
#include "vector.h"
puis-je faire un:
vector<vtarg> targVector;
et a obtenu l'erreur suivante
Cannot open include file: 'vector.h': No such file or directory
Ai-je raté quelque chose? J'ai essayé #include "vecteur" de encore plus d'erreurs.
#include "afxwin.h"
#include "vector.h"
//CTargDlg dialog
class CTargDlg : public CDialog {
//Construction
public:
CTargDlg(CWnd* pParent = NULL);
//standard constructor
vector<vtarg> targVector;
C++ moderne utilise
#include "afxwin.h" #include "vecteur.h" // CTargDlg classe de boîte de dialogue CTargDlg : public CDialog { // Construction public: CTargDlg(CWnd* pParent = NULL); // constructeur standard vector<vtarg> targVector;
vous devriez vous tourner vers le post original, pas de code de l'échantillon et qu'aucun post de la structure. La seule raison pourquoi les gens peuvent répondre à cette facilement, parce que c'est une erreur de base. Prendre une question similaire dans le style, mais d'un sujet difficile, et les gens vont downvote et le fermer dans minitues, il obtient 3 upvotes. Parler du fait d'être juste.
Si c'est votre code, alors il n'est pas étonnant qu'il ne se compile pas. Vous êtes, à tout le moins, manque une
Pas besoin de se fâcher 🙂 . Je viens de dire que les gens devraient laisser un commentaire à chaque fois qu'ils downvote une question/réponse en expliquant la raison. Alors peut-être ceux qui post incomplètes questions/réponses à comprendre. Je pense que de cette façon que les choses peuvent être traitées avec plus de grâce :-).
#include <vector>
. Soit vous utilisez archaïque C++ ou non-d'en-tête standard qui n'est pas disponible sur votre machine (dans l'en-tête (comprennent) les répertoires que vous avez demandé à être recherché, ou le système de répertoires). (Et puisque vous êtes à l'aide du modèle de notation, vous ne pouvez pas utiliser complètement archaïque C++, donc vous devriez être écrit #include <vector>
et de se préoccuper de la std
espace de noms).#include "afxwin.h" #include "vecteur.h" // CTargDlg classe de boîte de dialogue CTargDlg : public CDialog { // Construction public: CTargDlg(CWnd* pParent = NULL); // constructeur standard vector<vtarg> targVector;
vous devriez vous tourner vers le post original, pas de code de l'échantillon et qu'aucun post de la structure. La seule raison pourquoi les gens peuvent répondre à cette facilement, parce que c'est une erreur de base. Prendre une question similaire dans le style, mais d'un sujet difficile, et les gens vont downvote et le fermer dans minitues, il obtient 3 upvotes. Parler du fait d'être juste.
Si c'est votre code, alors il n'est pas étonnant qu'il ne se compile pas. Vous êtes, à tout le moins, manque une
};
.Pas besoin de se fâcher 🙂 . Je viens de dire que les gens devraient laisser un commentaire à chaque fois qu'ils downvote une question/réponse en expliquant la raison. Alors peut-être ceux qui post incomplètes questions/réponses à comprendre. Je pense que de cette façon que les choses peuvent être traitées avec plus de grâce :-).
OriginalL'auteur craftace | 2011-07-18
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser
au lieu de cela, sans le
.h
l'extension de fichier. En outre, lavector
modèle de vie dans lestd
espace de noms, vous devez définir votre vecteur commeAussi assurez-vous de comprendre ce que les en-têtes sont nécessaires pour
vtarg
.OriginalL'auteur Frerich Raabe
Vous avez fait 3 erreurs.
Tout d'abord, le fichier à inclure est appelé vecteur, pas de vecteur.h.
Seconde, ce vecteur est un include, c'est la partie de la norme C++ de la bibliothèque run-time, vous devez utiliser le <>, notamment la construction, comme ceci:
Troisième, la classe vector (en fait basé sur un modèle de classe) appartient à l'espace de noms std. Donc, vous devriez écrire:
OriginalL'auteur Patrick
Le fichier d'en-tête est appelé
vector
, pasvector.h
.En général, la norme C++ en-têtes n'ont pas le
.h
suffixe.Si vous obtenez encore plus d'erreurs" wen vous
#include <vector>
, alors vous aurez besoin pour résoudre ces erreurs. Mais puisque vous n'avez pas dit ce que ces erreurs sont, c'est un peu difficile de vous aider avec ça.OriginalL'auteur jalf
Il n'y a pas de
"vector.h"
. Le fichier d'en-tête pour le std::vector est<vector>
. En effet, l'ensemble de la norme C++ de la bibliothèque des en-têtes (sauf pour le C-compatibilité) n'ont pas ".h" à la fin.bien? Qu'aimeriez-vous nous faire à ce sujet? "différentes erreurs" est un peu difficile à résoudre. Mais je peux vous dire ceci: "vous devez corriger ces erreurs"
OriginalL'auteur Nicol Bolas
essayer cette alternative
certains compilateurs, comme visual c++ 2010, en charge ce type de notations.
Même si elle est .c fichier par exemple xy.c utiliser include"xy".
OriginalL'auteur sAm
#include "vector.h"
est en fait la façon correcte d'utiliser si vous êtes à l'aide de la collection de la bibliothèque de stanford.https://www.stanford.edu/class/cs106b/cppdoc/Vector-class.html
Le problème est que je ne pense pas que la plupart des compilateurs sont mis en place afin d'inclure la stanford de la bibliothèque afin que le fichier est quelque chose que vous allez avoir à inclure vous-même, je pense.
OriginalL'auteur Oscar Galvan