【发布时间】:2013-08-08 21:13:07
【问题描述】:
我在使用 g++ 编译器的 C++ 中偶然发现以下编译错误:
error on line line 1 with message:
invalid preprocessing directive #a
(在字符 a 上方有一个插入符号),然后是另一个,可能是随之而来的错误,第 4 行带有消息:
cout was not declared in this scope.
我使用的编辑器是带有 mingw 的 Code blocks 10.05。我尝试从 iostream 文件的 include 语句中删除 .h 扩展名;在不同的文件编码选项之间切换;并将尖括号替换为单引号和双引号。i我坚持下去。如果它是重复的,请原谅(尽管我经历了几个已经提出的相关问题)。 下面的代码说明了这个问题:
#include <iostream.h>
int main()
{
cout<< "abc"+8;
cout<< "def"+4;
cout<< "ha";
return 0;
}
【问题讨论】:
-
和
<iostream>no .h -
关键字
using不是一个好主意——命名空间冲突意味着坏事发生。只需明确调用它,例如std::cout或最坏情况下的别名,如namespace dino = some::long::namespace -
"abc"+8 应该做什么?