我可以在 C 中声明一个名为 CURSES 的函数吗?

标签 c linux

在 Linux 平台上,使用名为 CURSES 的函数时出现编译错误。如果我将名称更改为其他名称,例如“my_curses”,则不会再出现错误。
我知道有一个 curses.h,但我不知道有任何名为 CURSES 的函数。标准库或内置库中是否已经存在名为 CURSES 的函数?

原型(prototype): void CURSES(int x)

错误: “错误:数字常量前的语法错误”

然后在函数声明中我得到了一堆类似的错误以及一堆“冲突类型”的错误。

最佳答案

CURSES 可能是一个定义。所以你的选择是:

  • #undef CURSES --- 这不是一个好的选择,除非你确切地知道这个定义在何处以及由谁使用。
  • 将您的函数称为 Curses、cURSES 或简称为 curses。
  • 将名称更改为您的函数。

编辑:在我的 includes 上的一个简单的 grep 告诉我 curses.h 和 ncurses.h 都有这一行

#define CURSES 1

关于我可以在 C 中声明一个名为 CURSES 的函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9243349/

相关文章:

c++ - 如何更改 code::blocks 中的文本颜色和控制台颜色?

linux - 如何使用 parted 编写自动任务脚本(更新 gpt 表)

linux - 什么是 proc 和 sysfs 条目

linux - 无法在 centos 6.5 上安装 python-dev

linux - x86-64 Linux 堆栈未对齐时没有段错误

使用指针更改字符数组的字符

c - 当在条件操作中使用移位操作时,while 循环变为无限

c++ - 为什么 C 字 rune 字是整数而不是字符?

c++ - 如何使用 fcntl.h 以附加模式写入文件

c - 如何查找并打印字符串中的重复字符?