jrmymllr
Joined: 08 Oct 2012 Posts: 4
|
Why won't this compile? |
Posted: Wed Oct 17, 2012 6:06 am |
|
|
I'm at a loss as to why this won't compile. It would appear that PCH (v4.135) doesn't support pointers to pointers, but if I try another example of this, it works.
If one of the asterisks are deleted from "pucFrame", it compiles, but of course I can't use it like this.
Code: |
#pragma case
#include <18F8527.h>
typedef unsigned char UCHAR;
typedef char CHAR;
typedef unsigned int16 USHORT;
typedef signed int16 SHORT;
typedef unsigned int32 ULONG;
typedef signed int32 LONG;
typedef enum
{
MB_ENOERR, /*!< no error. */
MB_ENOREG, /*!< illegal register address. */
MB_EINVAL, /*!< illegal argument. */
MB_EPORTERR, /*!< porting layer error. */
MB_ENORES, /*!< insufficient resources. */
MB_EIO, /*!< I/O error. */
MB_EILLSTATE, /*!< protocol stack in illegal state. */
MB_ETIMEDOUT /*!< timeout error occurred. */
} eMBErrorCode;
typedef eMBErrorCode( *peMBFrameReceive ) ( UCHAR *pucRcvAddress,
char **pucFrame, //delete one "*" to compile
USHORT *pusLength );
void main(void)
{
static peMBFrameReceive peMBFrameReceiveCur;
}
|
|
|