【发布时间】:2020-07-07 13:12:18
【问题描述】:
错误:无效的预处理指令#i 你的意思是#if?
我正在学习 CPP,但在使用 CodeBlocks IDLE 时出现此错误。 它不会运行。
#include <iostream>
// using switch statements
using namespace std;
const float fac = 2.54;
float x , in,cm;
char ch = 0;
int main(){
switch (ch) {
case 'i':
in=x;
cm=x/fac;
break;
case 'c':
in = x/fac;
cm =x;
break;
default:
in=cm=0;
break;
}
}
【问题讨论】:
-
我将您的代码复制粘贴到我的 IDE 中,但无法重现该错误。有什么遗漏吗?你保存文件了吗?完整的错误信息是什么?
-
尝试删除
#include <iostream>这一行并重新输入。我怀疑你在i和n之间有一个不可见的字符。 -
根据错误,您似乎不知何故在 i 之后的第一行中插入了不可打印的控制字符。尝试重写该行。
-
我在代码块之外的命令行中使用 g++ 再次运行它,上面写着
cpp error: stray '`' in program。我想删除反引号,并将其替换为',但我仍然想知道为什么反引号是问题。
标签: c++ compiler-errors codeblocks directive