【发布时间】:2013-10-19 18:22:14
【问题描述】:
我有功能。如果用户没有在这个函数中提供ofstream 元素:
bool isPolpierwsza(int, bool = false, ofstream = NULL);
比我想分配“plik”
bool isPolpierwsza(int liczba, bool wypisz, ofstream plik)
到NULL值。
我的编译器出错:
2.9.cpp:5:48: 错误:无法从“long”转换为“ofstream”(又名“basic_ofstream”)
bool isPolpierwsza(int, bool = false, ofstream = NULL);
如何设置 ofstream 的默认值被视为NULL 或“false”?
【问题讨论】:
-
这和C#有什么关系?
-
用不同的函数重载它。毕竟是 C++。所以提供两个版本;一个没有流的(首先应该是一个参考)。
-
ofstream不是指针。您不能将其设置为NULL。NULL宏很可能被定义为0L,因此出现此错误。 -
一般没有“空值”这样的东西。一些类型(例如指针或可选类型)有这样的概念,但大多数类型没有。