在一个答案中,有以下代码:
if (std::ifstream input("input_file.txt"))
;
这似乎很方便,将“input”变量的范围限制在确认其有效性的位置,但是VS2015和g ++都似乎无法编译它。这是某种编译器特定问题还是需要一些额外的标志?
在VS2015中,IDE突出显示“std :: ifstream”和“input_file.txt”,以及最后一个括号。 “std :: ifstream”用“错误:此处不允许函数类型”标记。
VS2015 C++编译器会给出以下错误:
- C4430缺少类型说明符-假定为int。注意:C ++不支持默认int
- C2059语法错误:'('
input
的范围吗?还是说这只是语法糖? - user3358771