2013-08-02 55 views
-2

我想在file.open把一個變量的文件名()函數,但我不斷收到此錯誤:我怎麼把一個變量file.open()

[Error] no matching function for call to 'std::basic_ofstream<char>::open(std::string&)'

的代碼:

for (int x=1; x<=num_pages; x++){ 
    file= page_name[x]; 
    cout << file; 
ofstream file; 
file.open ("file"); 
... 
file.close(); 
} 

什麼我的工作是一個程序,能夠讓多個文件名按我指定的文本寫那些文件。我想我應該指出,所有的文件名都放在一個數組中並循環。 *另外我怎樣才能把文件擴展名結尾。 這是我得到的錯誤...
[錯誤]用於調用「的std :: basic_ofstream ::打開(的std :: string &)」

+0

錯誤說什麼? –

+0

當你說「得到一個錯誤」時,重要的是你也告訴我們錯誤是什麼,所以我們不必猜測。你有這些信息在你面前(如果你沒有,你不會知道你有錯誤),所以你應該把它包括在你的問題中。我們無法從我們坐的位置看到您的屏幕。 :-) –

+0

@KenWhite [Error]沒有匹配函數調用'std :: basic_ofstream ::打開(std :: string&)' –

回答

5

你不能有兩個變量不匹配函數一樣的名字。它看起來像你試圖命名一個字符串file以及一個ofstream。嘗試將第一個變量(字符串)重命名爲filename。那麼你可以這樣做:

file.open(filename); 
相關問題