2013-06-18 90 views
0

好吧我在這一個小白,但我認爲我得到了這一切設置正確,而我正在被thown的:錯誤:ISO C++禁止serivces的聲明無類型[-fpermissive]

[[email protected] ircservices]$ g++ main.cpp -o services 
In file included from main.cpp:1:0: 
services.h:8:15: error: ISO C++ forbids declaration of âserivcesâ with no type [-fpermissive] 

(使用克++)由編譯器

main.cpp中:

#include "services.h" 

#include <iostream> 
using namespace std; 

int main(int ac, char **av) 
{ 
    services myservices; 

    if(myservices.startup() == 1) 
     cout << "Cool this works!!" << endl; 

     return(0); 
} 

services.h:

#ifndef SERVICES_H 
#define SERVICES_H 

class services 
{ 

public: 
    serivces(); 
    ~services(); 
    int startup(); 
}; 

#endif 

services.cpp:

#include "services.h" 

services::services() 
{ 
} 

services::~services() 
{ 
} 

int services::startup() 
{ 
return 1; 
} 

這是令人費解給我,但我說我不是一個親在這一點,所以看它像「變1〜2」什麼的一些明顯錯誤...

+0

Typo:'serivces();' - >'services();' – juanchopanza

+0

確實解決了這個問題,但另一個問題卻出現了,但我修復了它,這導致我出現了另一個問題, main.cpp services.h到services.cpp - 任何人都知道爲什麼? – aeonicone

+0

如果修復此問題後還有其他問題,最好發表一個不同的問題。 – juanchopanza

回答

0

我正在回覆你的第二個改進。

你可能發現漏掉了一個編譯步驟,是object文件的創建:

第一步:

g++ -c services.cpp 

這將創建一個可以使用的最後一個步驟是目標文件所謂鏈接:

g++ main.cpp services.cpp -o executablename 

包括主要的.cpp文件解決了這個問題,因爲你在哪裏字面上在預處理過程中將整個代碼粘貼到主體中。

我建議閱讀這個http://homepages.gac.edu/~mc38/2001J/documentation/g++.html作爲g ++編譯步驟的介紹,並且這個 wikipedia page被引入ELF文件格式。

相關問題