2017-04-10 31 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

非常感谢。我现在觉得自己像个白痴。 –