g ++编译错误.h文件

时间:2012-01-01 00:17:17

标签: c++ linux g++ ubuntu-10.10

我正在尝试使用Linux Ubuntu 10.10中的g ++编译.cpp文件,当我尝试编译此代码时

#include <iostream>                                                             
#include <vector>                                                               
#include <"writeVector.h"                                                       
#include <"insertionSort.h">                                                    
using namespace std;  



int main()                                                                      
{                                                                               
  int n;                                                                        
  int i;                                                                        
  vector<int> V;                                                                
  cout << "Enter the amount of numbers you want to evaluate: ";                 
  cin >> n;                                                                     
  cout << "Enter your numbers to be evaluated: " << endl;                       
  while (V.size() < n && cin >> i){                                             
   V.push_back(i);                                                              
  }   

  InsertionSort(V);                                                             
  write_vector(V);                                                              
  return 0;                                                                     
}   

我在同一文件夹中有两个.h文件,但它一直说我的writeVector.h文件或文件夹不存在。

这是我writeVector.h文件的样子

#include <iostream>                                                             
#include <vector>                                                               
using namespace std;                                                            

template <typename T>                                                          

void write_vector(const vector<T>& V)                                          

{                                                  

  cout << "The numbers in the vector are: " << endl;                            
  for(int i=0; i < V.size(); i++)                                                                                                                             
    cout << V[i] << " ";                                                       

}       

insertionSort.h档案

#include <iostream>                                                             
#include <vector>                                                               
using namespace std;                                                            

void InsertionSort(vector<int> &num)                                            
{                                                                               
     int i, j, key, numLength = num.length( );                                  
     for(j = 1; j < numLength; j++)    // Start with 1 (not 0)                  
    {                                                                           
           key = num[j];                                                        
           for(i = j - 1; (i >= 0) && (num[i] < key); i--)   // Smaller values move up                                                                         
          {                                                                     
                 num[i+1] = num[i];                                             
          }                                                                     
         num[i+1] = key;    //Put key into its proper location                  
     }                                                                          
     return;                                                                    
}

2 个答案:

答案 0 :(得分:7)

更改

#include <"writeVector.h"                                                       
#include <"insertionSort.h">  

#include "writeVector.h"                                                       
#include "insertionSort.h"

#include "filename"用于本地头文件,由您自己制作。

#include <filename>用于头文件全局包含在C ++,系统头文件

没有像<"filename">

这样的语法

答案 1 :(得分:3)

  

#include <"writeVector.h"

该代码无效。以下任何一行都可以使用:

#include "wrtieVector.h"
#include <writeVector.h>

但后者是为系统标题保留的。