gpt4 book ai didi

C++ 初学者 : expected unqualified-id before 'int'

转载 作者:太空狗 更新时间:2023-10-29 19:47:46 24 4
gpt4 key购买 nike

您可能会从这个问题中猜到,我对使用 C++ 进行 oop 编程还很陌生。 (我之前只做过Java)无论如何,我正在尝试为 Arduino 项目创建一个自定义类并得到提到的错误。这是我的文件:

Header Touchable.h

#ifndef Touchable
#define Touchable
#include <Adafruit_TFTLCD.h>

#include <Arduino.h>

class Touchable {
public:
int posX;
int posY;
Touchable(int, int); //<-- Error here
~Touchable();
void Touchable::draw();
};

#endif

和Touchable.cpp

#include "Touchable.h" //include the declaration for this class
#include <Adafruit_TFTLCD.h>


Touchable::Touchable(int x, int y) {
posX = x;
posY = y;
}

Touchable::~Touchable() {
/*nothing to destruct*/
}

//turn the LED on
void Touchable::draw() {
//tft.fillRect(posX, posY, 100, 100, 0x0000);
}

编辑:编译器消息:

In file included from sketch/Touchable.cpp:1:0:
Touchable.h:11: error: expected unqualified-id before 'int'
Touchable(int x, int y);
^
Touchable.h:11: error: expected ')' before 'int'
Touchable.h:12: error: expected class-name before '(' token
~Touchable();
^
Touchable.h:13: error: invalid use of '::'
void Touchable::draw();
^
Touchable.h:14: error: abstract declarator '<anonymous class>' used as declaration
};
^
Touchable.cpp:5: error: expected id-expression before '(' token
Touchable::Touchable(int x, int y) {
^
Touchable.cpp:10: error: expected id-expression before '~' token
Touchable::~Touchable() {
^
exit status 1
expected unqualified-id before 'int'

最佳答案

您必须为您的 include guard 宏选择一个不同的名称(通常是 TOUCHABLE_H),因为预处理器将您在 Touchable.h 中的代码翻译成:

class {
public:
int posX;
int posY;
(int, int);
~();
void ::draw();
};

同样适用于 #include 这一个的所有文件...或者您可以使用 #pragma once .

关于C++ 初学者 : expected unqualified-id before 'int' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44572943/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com