【问题标题】:Error during the compilation of a code C++编译代码 C++ 时出错
【发布时间】:2023-03-09 17:54:01
【问题描述】:

我在编译时遇到了我的代码 c++ 的问题。 ^

这是完整的代码,错误行刚刚包含

#include <string>
#include <iostream>
#include <cstdlib>
#include <cstdio>
//#include <conio.h>
#include <ncurses.h>
#include <time.h>

using namespace std;

const char KEY_LEFT = 'a', KEY_RIGHT = 'd',KEY_UP = 'w', KEY_DOWN ='s'; 
const int HEIGHT = 25, WIDTH = 40;
bool  hasntWon = true; 
int hP = 100; 
//unsigned char  healthbar [10] = {'*','*','*','*','*','*','*','*','*','*'};

enum  DirectionX {Right,Left};
enum  DirectionY {Up,Down};

struct Player {
  char sprite;
  int x;
  int y; 
 };

 struct Enemy{
  char sprite;
  int x;
  int y; 
  DirectionX pastDirX; 
  DirectionY pastDirY; 
 };

【问题讨论】:

  • 请贴出未编译的文件内容。记住要缩进带有四个空格的行以正确格式化。
  • 没有发布代码 == 没有帮助。
  • 请记住,使用 text 编辑您的帖子,而不是代码的屏幕快照。屏幕快照不能很好地粘贴到 IDE 中。
  • 尝试对字符使用char,而不是整数。
  • 总是发布错误消息的完整文本(逐字和问题中)。

标签: c++


【解决方案1】:

根据您所包含的 cmets ncurses.h,其中包含

#define KEY_LEFT 0404 /* left-arrow key */

这是一个宏,它会被预处理器自动替换,把你的代码变成

const int 0404 = 'a' /* ... */;

0404 不是有效的变量名,因此您的代码无法编译。一般来说,您可以尝试重新定义这些宏(通过#define)。但是,重新定义它们可能会在其他地方造成严重破坏。

如果您尝试像对待 一样对待 a,我建议您在任何地方检查适当的键而不是(或旁边)KEY_LEFT使用那个宏。

【讨论】:

  • 好的。请问,我应该用什么代替 KEY_LEFT = 'a'
  • 我像这样编辑 ncurses.h:#define KEY_DOWN bas//0402 /* 向下箭头键 / #define KEY_UP haut//0403 / 向上箭头键 / #define KEY_LEFT gauche//0404 / 左箭头键 / #define KEY_RIGHT droit//0405 / 右箭头键 */ 我编译时出现这个错误/tmp/cc11Y2oC.o : Dans la fonction « main » : mazegame.cpp:(.text+0x8a3) : 参考 indéfinie 与 « stdscr » mazegame.cpp:(.text+0x8ab) : 参考 indéfinie 与 « wgetch » collect2:错误:ld 返回 1 个退出状态
  • @fogang fokoa - 嗯,不要编辑 ncurses。只需为您自己的变量使用不同的名称即可。
  • 好的。我重新编辑ncurses.h,没关系。在编译期间,我收到此错误: mazegame.cpp:(.text+0x8a3) : référence indéfinie vers « stdscr » mazegame.cpp:(.text+0x8ab) : référence indéfinie vers « wgetch » collect2: error: ld returned 1退出状态
  • 你需要用-lncurses编译。如果还是找不到stdscr,add -ltinfo
猜你喜欢
  • 2011-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多