I've recently installed the latest VisualMicro, and I find some error messages are not being fully displayed. For example, with one project, when I compile with VisualMicro, I get these errors: Compiling 'ServoDriver10ATest' for 'Arduino Mega 2560 or Mega ADK' ServoDriver10A.cpp : : In member function 'void ServoDriver10A::SetEncoderConfig(int, int, int, int, int)': ServoDriver10A.cpp : EncoderBHandler' ServoDriver10A.cpp : *)()' to 'void (*)()' for argument '2' to 'void attachInterrupt(uint8_t, void (*)(), int)' ServoDriver10A.cpp : EncoderAHandler' ServoDriver10A.cpp : *)()' to 'void (*)()' for argument '2' to 'void attachInterrupt(uint8_t, void (*)(), int)' ServoDriver10A.cpp : EncoderAHandler' ServoDriver10A.cpp : *)()' to 'void (*)()' for argument '2' to 'void attachInterrupt(uint8_t, void (*)(), int)' Error compiling When I compile the same project using the Arduino IDE, I get the following, which is infinitely more helpful: C:\Documents and Settings\RayL\My Documents\Arduino\libraries\ServoDriver10A\ServoDriver10A.cpp: In member function 'void ServoDriver10A::SetEncoderConfig(int, int, int, int, int)': C:\Documents and Settings\RayL\My Documents\Arduino\libraries\ServoDriver10A\ServoDriver10A.cpp:65: error: ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say '&ServoDriver10A::EncoderBHandler' C:\Documents and Settings\RayL\My Documents\Arduino\libraries\ServoDriver10A\ServoDriver10A.cpp:65: error: cannot convert 'void (ServoDriver10A::*)()' to 'void (*)()' for argument '2' to 'void attachInterrupt(uint8_t, void (*)(), int)' C:\Documents and Settings\RayL\My Documents\Arduino\libraries\ServoDriver10A\ServoDriver10A.cpp:67: error: ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say '&ServoDriver10A::EncoderAHandler' C:\Documents and Settings\RayL\My Documents\Arduino\libraries\ServoDriver10A\ServoDriver10A.cpp:67: error: cannot convert 'void (ServoDriver10A::*)()' to 'void (*)()' for argument '2' to 'void attachInterrupt(uint8_t, void (*)(), int)' C:\Documents and Settings\RayL\My Documents\Arduino\libraries\ServoDriver10A\ServoDriver10A.cpp:69: error: ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say '&ServoDriver10A::EncoderAHandler' C:\Documents and Settings\RayL\My Documents\Arduino\libraries\ServoDriver10A\ServoDriver10A.cpp:69: error: cannot convert 'void (ServoDriver10A::*)()' to 'void (*)()' for argument '2' to 'void attachInterrupt(uint8_t, void (*)(), int)' Any ideas? Regards, Ray L.
|