Fred,
The following code compiles fine with g++ but I get the dreaded
warning: deprecated conversion from string constant to 'PCHAR {aka char*}' [-Wwrite-strings].
How would one define the struct or the assignment to remedy this?
I tried adding const to the struct
const PCHAR sNAME;
but still get the warning.
Thank you,
James
enum
{
vt_UNKNOWN,
vt_STRLIT,
vt_INTEGER,
vt_INT = vt_INTEGER,
vt_SINGLE,
vt_FLOAT = vt_SINGLE,
vt_DOUBLE,
vt_LDOUBLE,
vt_LLONG,
vt_STRVAR,
vt_DECFUNC,
vt_NUMBER,
vt_FILEPTR,
vt_UDT,
vt_STRUCT,
vt_UNION,
vt_LPSTR,
vt_BOOL,
vt_CHAR,
vt_LPSTRPTR,
vt_PCHAR,
vt_CHARPTR,
vt_VOID,
vt_LONG,
vt_WORD,
vt_DWORD,
vt_FARPROC,
vt_LPBYTE,
vt_LRESULT,
vt_BYTE,
vt_SHORT,
vt_USHORT,
vt_UINT,
vt_ULONG,
vt_ULLONG,
vt_ULONGLONG = vt_ULLONG,
vt_HWND,
vt_HDC,
vt_COLORREF,
vt_HANDLE,
vt_HINSTANCE,
vt_WNDCLASSEX,
vt_HFONT,
vt_ConsDes,
vt_VARIANT_BOOL,
vt__VARIANT_BOOL,
vt_SCODE,
vt_CY,
vt_DATE,
vt_BSTR,
vt_IUnknown,
vt_IDispatch,
vt_SAFEARRAY,
vt_PVOID,
vt_DECIMAL,
vt_DOCINFO,
vt_LOGFONT,
vt_TEXTMETRIC,
vt_WINBOOL,
vt_VARIANT
};
typedef struct _tagVVN
{
PCHAR sNAME;
int iTYPE;
int iPTRS;
}tagVVN, *LPTAGVVN;
static tagVVN atVARIANTVALUENAMES[]=
{
{"bVal",vt_BYTE,0},
{"bool",vt__VARIANT_BOOL,0},
{"boolVal",vt_VARIANT_BOOL,0},
{"bstrVal",vt_BSTR,0},
{"byref",vt_PVOID,0},
{"cVal",vt_CHAR,0},
{"cyVal",vt_CY,0},
{"date",vt_DATE,0},
{"dblVal",vt_DOUBLE,0},
{"fltVal",vt_FLOAT,0},
{"iVal",vt_SHORT,0},
{"intVal",vt_INT,0},
{"lVal",vt_LONG,0},
{"llVal",vt_LLONG,0},
{"parray",vt_SAFEARRAY,1},
{"pbVal",vt_BYTE,1},
{"pbool",vt__VARIANT_BOOL,1},
{"pboolVal",vt_VARIANT_BOOL,1},
{"pbstrVal",vt_BSTR,1},
{"pcVal",vt_CHAR,1},
{"pcyVal",vt_CY,1},
{"pdate",vt_DATE,1},
{"pdblVal",vt_DOUBLE,1},
{"pdecVal",vt_DECIMAL,1},
{"pdispVal",vt_IDispatch,1},
{"pfltVal",vt_FLOAT,1},
{"piVal",vt_SHORT,1},
{"pintVal",vt_INT,1},
{"plVal",vt_LONG,1},
{"pllVal",vt_LLONG,1},
{"pparray",vt_SAFEARRAY,2},
{"ppdispVal",vt_IDispatch,2},
{"ppunkVal",vt_IUnknown,2},
{"pscode",vt_SCODE,1},
{"puiVal",vt_USHORT,1},
{"pulVal",vt_ULONG,1},
{"pullVal",vt_ULONGLONG,1},
{"punkVal",vt_IUnknown,1},
{"pvarVal",vt_VARIANT,1},
{"scode",vt_SCODE,0},
{"uiVal",vt_USHORT,0},
{"uintVal",vt_UINT,0},
{"ulVal",vt_ULONG,0},
{"ullVal",vt_ULONGLONG,0},
{NULL,0,0}
};