Ошибка компиляции g ++ .h файл - PullRequest
0 голосов
/ 01 января 2012

Я пытаюсь скомпилировать файл .cpp, используя g ++ в Linux Ubuntu 10.10, и когда я пытаюсь скомпилировать этот код

#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 file

#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 ]

7 голосов
/ 01 января 2012

Изменить

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

на

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

#include "filename" используется для локальных файлов заголовков, которые сделаны вами.

#include <filename> используетсядля заголовочных файлов Глобально включены в C ++, системные заголовочные файлы

синтаксис отсутствует, например <"filename">

3 голосов
/ 01 января 2012

#include <"writeVector.h"

Этот код недействителен.Любая из приведенных ниже строк будет работать:

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

, но последняя зарезервирована для system заголовков.

...