2017-04-10 68 views
-3

這是我的代碼。Ifstream不起作用

std::ifstream file(filePath, std::ios::binary); 
    if (file.fail()); 
    { 
     fatalError("File could not be opened."); 
    } 

這不會給我一個生成錯誤,但它不想打開文件。我正在嘗試打開一個PNG文件,但每次都會失敗。

+5

刪除if後面的分號。 – erip

+0

你應該啓用警告,[他們傾向於告訴你這些事情](http://coliru.stacked-crooked.com/a/2872aa1890185231)。 – nwp

回答

4

if之後有一個分號,如果聲明被完全忽略(有效),這會強制執行該語句。在忽略if之後,無條件地評估大括號中的表達式。

+0

非常感謝。我現在覺得自己像個白癡。 –