Improper use of typedef 'TManagerProc'

struct TManagerData
{
public:
    // Card is inserted callback procedure
   TManagerProc CardInserted;
    // Card was activated callback procedure
   TManagerProc CardActive;
    // Card was removed from the reader  callback procedure
   TManagerProc CardRemoved;
    // Invalid card was inserted into the reader callback procedure
   TManagerProc CardInvalid;
    // There is no card in the reader and reader is waiting for the next operation
   TManagerProc ReaderWaiting;
    // Card operation error  callback procedure
   TManagerErrorProc Error;
} ;

//Data manager is used to pass the callback procedures pointers to EIDNative
typedef TManagerData, MANAGER_DATA;
//Data manager is used to pass the callback procedures pointers to EIDNative
typedef TManagerData *PManagerData;

Error E2108 C:\MiniGUI\SAMPLES\APPLIC~1\hairstyl\Hairprg2\eidstructures.hpp 126: Improper use of typedef 'TManagerProc'
Error E2139 C:\MiniGUI\SAMPLES\APPLIC~1\hairstyl\Hairprg2\eidstructures.hpp 126: Declaration missing ;

//Callback procedure for card events
typedef void ( __stdcall * TManagerProc)(void);
//Callback procedure for card error event
typedef void ( __stdcall * TManagerErrorProc)(unsigned ErrorCode);

//Data manager is used to pass the callback procedures pointers to EIDNative

line 21: remove the comma. Otherwise your code compiles ok with VC++ 2012. All I did was place the two typedefs in your last post before the structured declaration in your first post, then removed the comma on line 21.

typedef void ( __stdcall * TManagerProc)(void);
typedef void ( __stdcall * TManagerErrorProc)(unsigned ErrorCode);

struct TManagerData
{
public:
    // Card is inserted callback procedure
   TManagerProc CardInserted;
    // Card was activated callback procedure
   TManagerProc CardActive;
    // Card was removed from the reader  callback procedure
   TManagerProc CardRemoved;
    // Invalid card was inserted into the reader callback procedure
   TManagerProc CardInvalid;
    // There is no card in the reader and reader is waiting for the next operation
   TManagerProc ReaderWaiting;
    // Card operation error  callback procedure
   TManagerErrorProc Error;
} ;

typedef TManagerData  MANAGER_DATA;
typedef TManagerData *PManagerData;

int main()
{

}

Edited 4 Years Ago by Ancient Dragon

//Callback procedure for card events
typedef void ( __stdcall * TManagerProc)(void);
//Callback procedure for card error event
typedef void ( __stdcall * TManagerErrorProc)(unsigned ErrorCode);

//Data manager is used to pass the callback procedures pointers to EIDNative

Thanks it was usefull

This article has been dead for over six months. Start a new discussion instead.