C++ builder 6 Cannot convert 'AnsiString' to 'char *' 错误
错误代码:
E2451 Undefined symbol 'reserve'
一个头文件中api.h中定义了
char reserve[9];
sremain.cpp中定义了
#include "api.h"
...
String Mlinkid;
...
Mlinkid=QryUser->FieldByName("Linkid")->AsInteger; //Linkid 为数据库中的列名
strcpy(reserve,Mlinkid.c_str());
[解决办法]
数组不要在头文件中定义,在cpp文件中定义数组,如果其它的cpp文件要引用的话,在头文件中加一个声明
extern char reserve[];
如果不是必须,尽量不要使用全局变量
[解决办法]
全局对象的定义和声明方法:
在.h文件中用extern声明,如:
extern char reserve[9];
char reserve[9];