2013-05-10 50 views
0

我試圖編譯的一個cpp文件給了我那個錯誤。 我正在處理的cpp文件實際上是2個其他.cpp文件的副本,除了處理不同的值並具有不同的計算。我不明白爲什麼其他文件可以編譯,但不是這個。預期聲明而不是「ï¿¿」

假設「ï¿¿」實際上是一個滔滔不絕的字母ï,但我的代碼中沒有這樣的字符。

確切的錯誤信息是:

"TelephoneBill.cpp", line 1: Error: A declaration was expected instead of "". "TelephoneBill.cpp"."TelephoneBill.cpp", line 1: Error: "," expected instead of ""TelephoneBill.h"".

我已經削減了不必要的部分,但代碼:

#include "TelephoneBill.h"       //line 1 

istream& operator>>(istream& in, TelephoneBill* b) 
{ 
    //... 
} 

//... 

任何人有什麼是怎麼回事的想法?

在此先感謝!

+7

看起來像BOM(字節順序標記)。它是UTF-8的BOM:http://en.wikipedia.org/wiki/Byte_order_mark#UTF-8 – nhahtdh 2013-05-10 07:29:36

+0

@nhahtdh有沒有辦法解決這個問題? – Vince 2013-05-10 07:44:11

+0

你可以在SO/Google上進行一些搜索,找出我指出的可能原因嗎?我自己實際上不知道答案。 – nhahtdh 2013-05-10 07:50:56

回答

2

感謝您的有用評論,特別是Michael Burr在評論部分提供的鏈接。我學到了很多關於我的知識。

我通過在另一個記事本文檔中重新輸入代碼解決了這個問題,BOM問題就這樣消失了。

+1

不知道這是否是相關的:http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33415 – nhahtdh 2013-05-10 08:22:55

+0

@nhahtdh我也看看這個。謝謝! :D – Vince 2013-05-10 08:25:12

+1

記事本在「文件 - >另存爲...」對話框中有一個選項。 查找左側的保存按鈕的編碼下拉菜單。將其設置爲其他任何內容,但ANSI將爲您提供BOM。 – ComicSansMS 2013-05-10 11:07:02