klasa wskaźnik

0

Dlaczego tu występuje błąd kompilacji ?

#include <iostream>
using namespace std;

class nazwa
{
public:

int *zmienna;

};

int main()
{
nazwa *wskaznik,tab[20][20];
wskaznik = & tab[0][0];

*wskaznik.zmienna = 20;

}

0

Bo nie znasz priorytetu operatorów - kropka ma wyższy priorytet niż gwiazdka, więc musiałbyś mieć
(*wskaznik).zmienna
albo
wskaznik->zmienna
Poza tym próbujesz przypisać inta do wskaźnika, to też nieładnie...

0

A co jest nieładnego w przypisywaniu wskaźnika do int ?

0

Przypisałeś do wskaźnika ADRES o wartości 20, a nie adres ZMIENNEJ przechowującej 20. Odwołując się do tego wskaźnika spróbujesz odwołać się do miejsca w pamięci które jest pod adresem 20 co zapewne spowoduje segfault ;]

0
*wskaznik->zmienna = 20;

1 użytkowników online, w tym zalogowanych: 0, gości: 1