【问题标题】:Error: Invalid preproccessing directive #i did you mean #if?错误:无效的预处理指令#i 你是说#if 吗?
【发布时间】: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;
}
}

【问题讨论】:

  • 不能reproduce。第一行#i 后面有空格吗?喜欢this
  • 我将您的代码复制粘贴到我的 IDE 中,但无法重现该错误。有什么遗漏吗?你保存文件了吗?完整的错误信息是什么?
  • 尝试删除#include &lt;iostream&gt;这一行并重新输入。我怀疑你在 in 之间有一个不可见的字符。
  • 根据错误,您似乎不知何故在 i 之后的第一行中插入了不可打印的控制字符。尝试重写该行。
  • 我在代码块之外的命令行中使用 g++ 再次运行它,上面写着 cpp error: stray '`' in program 。我想删除反引号,并将其替换为',但我仍然想知道为什么反引号是问题。

标签: c++ compiler-errors codeblocks directive


【解决方案1】:

只需从此页面复制粘贴回您的 IDE。我的 CodeBlocks 执行此操作时没有错误。 我没有足够的权限发表评论。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-10
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    相关资源
    最近更新 更多