如果這是一個完全愚蠢的問題,我很抱歉,但我仍然遇到麻煩。如果需要,創建一個ofstream
我想傳遞兩個std::string fileNames
的功能foo
如下:
富(INT someValue中,的std :: string FILENAME1,的std :: string文件名2)
我再想以檢查它們是否都具有一個有一個文件名長度超過""
如下:
bool hasFile1 = true;
if(fileName1.empty())
{
hasFile1 = false;
}
我的問題是有因爲我希望能夠創建一個ofstream
如果hasFile1 == true
和hasFile2
相同,這兩個應該稍後可以在函數foo
中使用。
我試圖做這樣的事情:
std::ofstream file1;
if(hasFile1)
{
file1 = new std::ofstream(fileName1);
}
,但這樣做的問題是,文件1是一個不完整的類型。我嘗試的另一種方法是
std::ofstream* data;
if(hasFile1)
{
data = new std::ofstream(fileName1)/std::ofstream(fileName1);
}
和所有各種組合的所有或者得到不完整的類型不允許錯誤或我不能分配給指針。
問題的要點是你如何分配一個ofstream
,這樣你就不需要維護3塊代碼,這些代碼有不同的組合,其中ofstreams
被使用?
任何幫助將不勝感激!
'布爾hasFile1 = fileName1.empty();' - 沒有必要寫4!當一個人會做。 – MSalters