读书人

C++ builder 6 Cannot convert amp;#x27;

发布时间: 2013-01-06 15:44:47 作者: rapoo

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];

在.cpp文件中定义,如:
char reserve[9];

读书人网 >C++ Builder

热点推荐