iCAx开思网

标题: UF_CALL( )怎么有问题?急 [打印本页]

作者: wdg110    时间: 2011-7-1 19:30
标题: UF_CALL( )怎么有问题?急
uf_call.h
#define UF_CALL(X) (Report(_FILE_,_LINE_,#X,(X))
extern int Report(char *file,int line,char *call,int irc);

uf_call.cpp
#include "StdAfx.h"
#include "main.h"
int Report(char *file,int line,char *call,int irc)
{
if(irc!=0)
{
  char sFailMessage[133];
  UF_get_fail_message(irc,sFailMessage);
  char sWholeMessage[256];
  sprintf(sWholeMessage,
   "File Name:%s\nLine:%d\nFunction:%s\nError Code:%d\nMessage:%s",
   file,line,call,irc,sFailMessage);
  MessageBox(NULL,sWholeMessage,
   "Error in Function",MB_OK|MB_ICONWARNING|MB_SYSTEMMODAL);
}
    return(irc);
}

我试过很多次,这个函数定义没错,但是我用到这个函数就出问题了,比如说 UF_CALL(UF_PART_open(sPartPath,&tPrt,&error_status));
编译时就很出错:
F:\codeUG\app.cpp(35) : error C2065: '_FILE_' : undeclared identifier
F:\codeUG\app.cpp(35) : error C2065: '_LINE_' : undeclared identifier
F:\codeUG\app.cpp(35) : error C2143: syntax error : missing ')' before ';'
Error executing cl.exe.
请大家指点下小弟。
作者: wdg110    时间: 2011-7-1 21:26
已经解决了,原因是_FILE_,_LINE_,这几个下划线短了,造成程序不识别,应该加长下划线__FILE__,__LINE__,
作者: haopengjun    时间: 2011-7-2 10:59
用到了,顶,谢谢哦




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3