Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Probleme mit const char

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
06.09.2004, 13:26 Uhr
~LittlePeopleGirl79
Gast


Hallo,

ich hab ein Problem. Ich möchte einer Funktion, die const char erwartet, einen String übergeben. Dieser wird mit Hilfe von strcpy erstellt.
Jedoch bringt er mir beim compilieren eine Fehlermeldung!
Bin leider noch nicht so gut in C/C++, deshalb meine Frage:
Wo ist der Fehler bei meiner Ausführung?
Geht es anders?


C++:
#ifndef OPENCV_H
#define OPENCV_H

#include "cv.h"
#include "highgui.h"

class OpenCV {
public:
    OpenCV();
    static void        init_opencv( void );

private:

    char*            Window1 = 0;
    char*            Slider1 = 0;
    int                S1_Value;
};
#endif




C++:
#include "opencv.h"

OpenCV::OpenCV()
{
    Window_1 = new char[10];
    strcpy( Window1, "Parameter" );

}

static void OpenCV::init_opencv( void )
{
    // create window
    cvNamedWindow( Window_1 /* erwartet const char* */, 1 );
}


Gruß und Dank
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.09.2004, 13:32 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi was mir auf anhieb auffällt,

einmal nennst du die Variable Window_1 und dann wieder Window1

Weiterhin solltest du die genaue Fehlermeldung mal posten.

Ich denke auch nicht das er


C++:
char*            Window1 = 0;



in der Klassendefinition erlaubt, Memberpointerinitalisierung passiert normal erst im Konstruktor.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
06.09.2004, 14:04 Uhr
~LittlePeopleGirl79
Gast


Okay,
die Namensgebung war ein versehen von mir.
Unterschiedliche Versionen, Sorry.

Der eigentliche Fehler ist:

opencv.cpp(17): error C2597: Ungültiger Verweis auf nicht-statischen Member 'OpenCV::Window_1'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
06.09.2004, 14:17 Uhr
Oliver
S2-Pixelgeneral


Was mir auffällt, du benutzt in einer statischen Funktion eine "normale" Membervariable. Wenn du die statische Funktion aufrufst, ´"weiß" der Compiler nicht, welche Membervariable er nehmen soll, da die statische Funktion ja ohne das Objekt aufgerufen wird.
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
06.09.2004, 15:17 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


für was hast du die init-funktion überhaupt static? lass das static weg dann funktioniert das auch
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
06.09.2004, 16:49 Uhr
(un)wissender
Niveauwart


Alles was mit new allokiert wurde, muss mit delete gelöscht werden!
Also musst du einen Destruktor für OpenCV schreiben...
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: