Member is of non-class type

Odpowiedz Nowy wątek
2012-05-09 10:29
F1fan
0

Witam,
Mam problem z banalnym programem. W trakcie kompilacji wyświetla mi błąd:
request for member ‘wyswietl’ in ‘map’, which is of non-class type ‘Mapa()’

oto pliki:

mapa.cpp:

#include "para.h"
#include "mapa.h"
#include <iostream>

using namespace std;

//konstruktor bezparametrowy
Mapa::Mapa(){
    glowny = NULL;
}

//dodawanie elementów listy
void Mapa::dodaj(string wyraz){
    //dodawanie pierwszego elementu stosu
    if(glowny == NULL){
        Para element(wyraz);
        glowny = &element;
    }

}

void Mapa::wyswietl(){
    //cout << "adres wskaznika to: " << glowny << endl;
}

mapa.h:

#ifndef MAPA_H
#define MAPA_H
#include "para.h"
#include <string>
class Mapa{
    private:
        Para * glowny;
    public:
        Mapa();
        void dodaj(string wyraz);
        void wyswietl();
};
#endif

main.cpp:

#include "para.h"
#include "mapa.h"
#include <iostream>

using namespace std;

int main(){

    Mapa map();
    map.wyswietl();

    return 0;
}

Pozostało 580 znaków

2012-05-09 10:41
0

zamień

Mapa map();

na Mapa map;

Pozostało 580 znaków

2012-05-09 10:51
F1 fan
0

Działą! dzięki

Pozostało 580 znaków

2012-05-09 11:23
0
./mapa.h:10:28: error: unknown type name 'string'; did you mean 'std::string'?
                void dodaj(string wyraz);
                           ^~~~~~
                           std::string

Jeżeli to u ciebie przechodzi, to znaczy że w jakimś pliku .h dałeś using namespace. Nie powinno się.

Pozostało 580 znaków

2012-05-10 12:45
0

Oprócz tego ten kod ma jeszcze trochę problemów. Najpoważniejszy to chyba

 glowny = &element;

czyli ref na lokalny obiekt


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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