tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von deepthroat
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
150
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Bim85 Bim85 ist offline Grünschnabel
    Registriert seit
    Sep 2011
    Beiträge
    1
    Hallo an alle,

    ich habe eine Klasse, von dieser Klassen wird eine Instanz erstellt und diese an eine Funktion übergeben. Das ganze soll über Pointer realisiert werden. Ohne Pointer lassen sich die Methoden aufrufen. Folgendes ist gegeben:

    Funktionsdeklaration:

    Code :
    1
    
    void funktionsname(int anzahl, klassenname *a)

    Funktionsaufruf:

    Code :
    1
    
    funktionsname(wert,&a1)

    Möchte ich nun innerhalb der Funktion auf eine Methode der Klasse zugreifen, also über:

    Code :
    1
    
    a.methodenname()

    bekomme ich folgende Fehlermeldung:

    error: request for member 'methodenname' in 'a', which is of non-class type 'klassenname*'

    Erstellt wurde das ganze mit Code::Blocks 10.05

    Hat jemand eine Idee wie ich das Problem lösen kann?


    Danke und Gruß
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Einen Zeiger mußt du erst dereferenzieren.
    Code cpp:
    1
    2
    3
    4
    5
    
    (*a).methodenname();
     
    // oder kürzer:
     
    a->methodenname();
    Gruß
    Bim85 bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 12.06.10, 15:23
  2. Antworten: 4
    Letzter Beitrag: 30.03.10, 23:06
  3. Methoden in geerberter Klasse aus Basisklasse aufrufen
    Von FwDonnerbalken im Forum .NET Café
    Antworten: 4
    Letzter Beitrag: 01.10.08, 19:18
  4. Antworten: 5
    Letzter Beitrag: 15.04.06, 15:12
  5. Antworten: 1
    Letzter Beitrag: 23.08.04, 11:40