预期在'int'之前的unqualified-id? Arduino库

时间:2019-02-04 08:49:09

标签: c++ arduino

我可能错过了一些愚蠢的事情,但是现在有一天我不断收到此错误:(。请帮助!。这是我在C ++中的第一个库,因此我可能搞砸了语法。

此错误出现在此代码行中

  displayLED(int heightOfDisplay = 8, int widthOfDisplay = 32);

这是.h文件中的代码

#ifndef displayLED
#define displayLED
#include "Arduino.h"
#include <math.h>
#include <string.h>

class displayLED
{

private:

static const int heightOfDisplay;
static const int widthOfDisplay;
int verticalArray[8];
int horizontalArray[32];
int cursorPosition=0;
const int latchPin = 8;
const int clkPin = 7;
const int REDhorizontalSO = 6;
const int GREENhorizontalSO = 11;
const int BLUEhorizontalSO = 9;
const int verticalSO = 12;



public:

displayLED(int heightOfDisplay = 8, int widthOfDisplay = 32);
displayLED();
void constructWord(String   Word = "WELCOME");
void slideIn(String colorAnimator);
void fillArrays();
void pushToRegister(int sthToWrite1[], int sthToWrite2[], int sthToWrite3[],  int sthToWrite4[], int SOpin1, int SOpin2, int SOpin3, int SOpin4);
void shiftOutMultiple(uint8_t dataPin1, uint8_t dataPin2, uint8_t dataPin3, uint8_t dataPin4, uint8_t clockPin, uint8_t bitOrder, uint8_t val1, uint8_t val2, uint8_t val3, uint8_t val4)


};



#endif

这是我的.cpp。为了简洁起见,我省略了其他功能。我希望清楚。

#include "displayLED.h"


displayLED::displayLED(int heightOfDisplay, int widthOfDisplay) {
this->heightOfDisplay = heightOfDisplay;
this->widthOfDisplay = widthOfDisplay;
pinMode(latchPin , OUTPUT);
pinMode(clkPin , OUTPUT);
pinMode(REDhorizontalISO , OUTPUT);
pinMode(GREENhorizontalSO , OUTPUT);
pinMode(BLUEhorizontalSO , OUTPUT);
pinMode(vertcalISO , OUTPUT);
fillArrays();
}

displayLED::displayLED()    {
}


//this function fills all the array with zeros
void displayLED::fillArrays()   {
for(int j=0; j <= heightOfDisplay; j++) {
    verticalArray[j] = 0;
}

for(int j=0; j <= widthOfDisplay; j++)  {
    horizontalArray[j] = 1;
}
}

1 个答案:

答案 0 :(得分:3)

我认为您的#define后卫与您的班级名称冲突。预处理器将删除所有对displayLed的提及,这会产生非常奇怪的编译错误。

将您的警卫更改为类似

#ifndef DISPLAYLED_H
#define DISPLAYLED_H

或者,您可以尝试使用#pragma once。如今,大多数编译器都支持它。