|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Hello everyone,
Here is the code, and if I change line from static wchar_t* p[1] = {PREFIX((wchar_t*)_TEXT("FOO"))}; to static wchar_t* p[1] = {PREFIX(_TEXT("FOO"))}; then code will be ok. Why? Code:
#define UNICODE
#define _UNICODE
// include tchar.h
#define PREFIX(x) (wchar_t*)_TEXT("GOO_") x
int main (int argc, char** argv)
{
static wchar_t* p[1] = {PREFIX((wchar_t*)_TEXT("FOO"))};
return 0;
}
main.c(10) : error C2064: term does not evaluate to a function taking
-22 arguments
main.c(10) : error C2143: syntax error : missing ')' before 'type'
main.c(10) : error C2059: syntax error : ')'
thanks in advance, George |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
George2 wrote:
> Hello everyone, > > > Here is the code, and if I change line from > > static wchar_t* p[1] = {PREFIX((wchar_t*)_TEXT("FOO"))}; > > to > > static wchar_t* p[1] = {PREFIX(_TEXT("FOO"))}; > > then code will be ok. Why? > Learn how to invoke your compiler so it outputs the preprocessor output and all will be revealed. -- Ian Collins. |
|
![]() |
| Outils de la discussion | |
|
|