Pan*_*ver -3 c++ cout c-preprocessor
我试图强制我的编译std::cout器用我的代码替换我的代码中的任何出现.但是当我写这样的东西时:
#define std::cout (*some code*)
我的编译器吐在我的脸上.有没有办法做到这一点 ?
编辑:
这是代码片段:
# define std::cout (std_out << std::cout)
(std_out是我之前打开的文件)
和std :: out出现的行上的错误
全球范围没有"cout"
您定义标识符,而不是任意表达式. std是一个标识符; 您的定义将导致编译器来代替标识的每个实例std有::cout (*some
code*).所以编译器不喜欢它并不奇怪:std::cout << toto成为::cout (*some code*)::cout <<
toto和std::vector成为::cout (*some code*)::vector.
如果你要解释你实际想要实现的目标,我们可能会帮助你做得更好.