Aktywne Wpisy
![chwilowypaczelok](https://wykop.pl/cdn/c0834752/7794142a36d6de48403aec79ce1bfd488b70ca87286dbbed47aee6bc51479f63,q60.png)
chwilowypaczelok +461
100 plusów, i idę jutro, kupuje po 40 rolek jednego i drugiego produktu, a następnie sprawdzę ile gram waży każda, ile jest warstw i metrów. Możecie dodać co jeszcze sprawdzić. #biedronka
![chwilowypaczelok - 100 plusów, i idę jutro, kupuje po 40 rolek jednego i drugiego pro...](https://wykop.pl/cdn/c3201142/54d3be9376d29a9314c897211827189a32e0572ede7b8ef2b2a769248e0882eb,w150.jpg)
źródło: temp_file2710427970386292718
Pobierz
Tomek-Barabasz +78
![Tomek-Barabasz - Ale bym sobie #!$%@?ł mieszkanie boazerią i zrobil pawlacz nad drzw...](https://wykop.pl/cdn/c3201142/475eece0e781195b785816b6af496483323e0d2ddfd765a9665c04d0cd780996,w150.jpg)
źródło: GFg4DxWXcAA4irD (1)
Pobierz
Mirki, dlaczego jeżeli mam 2 pliki:
Screeen.h
#ifndef SCREEN_H
#define SCREEN_H
class Screen {
public:
static int test;
static void InitLCD();
static void Clear();
private:
void SendToLCD();
char chars [3][20];
};
#endif /* SCREEN_H */
Oraz Screen.cpp
#include "Screen.h"
#include
#define I2C_LCD_ADDR 0x27
LiquidCrystal_I2C LCD_Screen(I2C_LCD_ADDR, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
void Screen::InitLCD() {
LCD_Screen.begin(20, 4); // initialize the lcd for 16 chars 2 lines, turn on backlight
}
void Screen::Clear() {
for (int i = 0; i <= 3; i++) {
for (int ii = 0; ii <= 20; ii++) {
Screen::chars[i][ii] = ' '; // tutaj błąd
}
}
}
void Screen::SendToLCD() {
}
Dostaje: /home/lukasz/Pulpit/StAlpha/app/Screen.h:14:22: error: invalid use of member 'Screen::chars' in static member function
W jaki sposób mogę odwołać się do zmiennej prywatnej w statycznej funkcji klasy?
Żeby zadziałało - zaraz wkleję kod.
https://pastebin.com/NY2veqB2
https://pastebin.com/1EqVas2Z
Do nagłówkowego pliku dodałem statyczny pointer do instancji klasy,
jest tworzony jeśli nie istnieje w Clear() [gdzieś potem będziesz musiał go usunąć]
Dodatkowo - kod wklejaj na pastebin.com to jest zdecydowanie bardziej cywilizowany format.
InitLCD()
orazClear()
, bo w sumie nie bardzo łapię po co Ci one w wersji statycznej.@InstruktorLewitacji: Yup oraz będzie dostępna z poziomu wszystkich funkcji statycznych tej klasy.
Na przykład niczym:
char Screen::chars[3][20];