C++ OOP mit C++, *.dll einbinden und merkwürdige Fehler

meph!sto

Vice Admiral
Registriert
Nov. 2003
Beiträge
6.148
Hi,
ich habe hier eine Klasse "CUSB_LEDOut" definiert.
Code:
#ifndef CUSB_LEDOut	
#define CUSB_LEDOut
 

class CUSB_LEDOut{
private:
	IOWKIT_HANDLE m_hDevice;
	IOWKIT40_IO_REPORT m_hReport;
	USBOUT_STATE m_eState;
	USBOUT_ERROR m_eLastError;

public:
	CUSB_LEDOut();
	~CUSB_LEDOut();
	bool open();
	bool sendByte(unsigned char cByte);
	void showStat();
	void close();
};
	
#endif

Dazu habe ich dann natürlich auch eine *.cpp mit den entsprechenden Funktionen.

Code:
#include <iostream>				
#include <wtypes.h>
#include <C:\Users\<User>\Documents\Visual Studio 2008\Projects\SGSE\SGSE\iowkit.h>

using namespace std;

enum USBOUT_ERROR {USBOUT_E_OK=0, USBOUT_E_NODEVICE, USBOUT_E_INVALIDDEVICE, USBOUT_E_WRITEFAILED, USBOUT_E_DEVICENOTREADY};
enum USBOUT_STATE {USBOUT_S_NOTREADY=1, USBOUT_S_READY};

#include <C:\Users\<User>\Documents\Visual Studio 2008\Projects\SGSE\SGSE\CUSB_LEDOut.h>

CUSB_LEDOut::CUSB_LEDOut() // Konstruktor
{
	m_hDevice = NULL;
	m_Report = {0,0xFFFFFFFF};
	m_eState = USBOUT_S_NOTREADY;
	m_eLastError = USBOUT_E_NOERROR
};
CUSB_LEDOut::~CUSB_LEDOut(); // Destruktor
{

};

void CUSB_LEDOut::showState(); // showState Methode
{
	
};

bool CUSB_LEDOut::open();
{

};

bool CUSB_LEDOut::sendByte(unsigned char cByte);
{

};

void CUSB_LEDOut::close()
{

};
)

Für das zu steuernde USB Gerät haben wir eine Library, nur weiß ich nicht wo und wie ich diese einbaue.
In meiner "h"-Datei oder meiner "cpp" ?
Zudem meckert mir mein Compiler (Visual Studio 2008 Express Edition) beim Kompilieren rum.
Für meine Headerdatei kommen folgende Fehler:

cusb_ledout.h(14) : error C2059: Syntaxfehler: '('
cusb_ledout.h(14) : error C2238: Unerwartete(s) Token vor ';'
cusb_ledout.h(19) : warning C4094: 'class' ohne Tag deklariert keine Symbole

Zeile 14 aus meiner Headerdatei steht folgendes:
Code:
~CUSB_LEDOut();

Und in Zeile 19 steht nur:
Code:
};

Ich bin da echt am Ende, seit mehr als einem Jahr nichts mehr mit C++ am Hut gehabt und auf einmal soll ich das alles wieder können....:freak:

Ich hoff ihr könnt einem Laien auf die Sprünge helfen.
Danke
 
Für das zu steuernde USB Gerät haben wir eine Library, nur weiß ich nicht wo und wie ich diese einbaue.
In meiner "h"-Datei oder meiner "cpp" ?
Bibliotheken gibt man dem Linker.

€: Zu den Fehlermeldungen:
Gibts bei C++ noch default to int? Falls nicht, solltest du den Funtkionen vielleicht irgend en Typen geben.
 
Zuletzt bearbeitet:
Bin nun erstmal soweit dass ich alles in 1 Datei geklatscht habe.
Die Fehlermeldungen sind soweit auch fast weg.
Einige Fehler waren auf Rechtschreibfehler zurückzuführen ( :D )

Jetzt meckert er mir noch diese Zeile an

Code:
m_hReport = (0,0xFFFFFFFF);

cusb_ledtest.cpp(29) : error C2679: Binärer Operator '=': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'unsigned int' akzeptiert (oder keine geeignete Konvertierung möglich)

Ideen ?
 
Was soll denn das auf der rechten Seite der Zuweisung sein? (0,0xFFFFFFFF) ist ja kein Wert, den du einer Variablen zuweisen könntest. Fehlt da evtl. ein Funktionsname?
 
(0,0xFFFFFFFF) ist folgendes:
0 = Port ID
0xFFFFFFFF = Wert.
Zugewiesen wird das mit m_hReport.ID = 0 und m_hReport.Value = 0xFFFFFFFF.
Habe ich eben im Labor erfahren ;)
 
Ah, das ergibt Sinn :)
 
Zurück
Oben