![]() |
1
6
nullstream类没有整型构造函数。这意味着当您定义debug nullstream时,编译器无法识别没有意义的debug(0)。调试不是接受参数的宏,如果用nullstream替换,nullstream没有接受参数的构造函数。#用这种方式定义是错的。你应该有这样的东西:
现在,您的类在任何环境中的外观和行为都是一样的,但只有在定义了调试的情况下才会输出。我还修复了您试图输出类型的错误。 |
![]() |
2
5
其他人指出了正常物体的错误。
但您还需要一种方法来输出std::endl和其他操纵器。因为上面的模板无法正确处理这些问题。为此,您需要一个处理处理流的函数(即所有IOManipulator(如std::endl))的运算符。
处理普通流和宽流的实现:
|
![]() |
3
2
你应该写些像
使用
|
![]() |
4
2
错误在这里:
不能输出类型,必须输出对象。正确代码:
|
![]() |
5
1
此签名错误;您的参数类型
|
![]() |
6
0
使用的问题
当你解决这个问题时,你会遇到至少一个问题:
|
![]() |
7
0
…这将导致L/R值问题。只要跟随
|