很困惑的问题,大家帮看以下

sdqdzyb 2005-10-21 08:55:24
别人软件生成的。C文件,里面包含:
TSXFIELDINIT LOGIN[] = {

{ "HEAD", 0, 0,
TS_FIXED,
0,
20, 0, "",
0, 0, 0, "" },

{ "TXT_USER", 2, 0,
TS_FIXED,
0,
8, 0, "",
0, 0, 0, "" },

{ "TXT_PWD", 4, 0,
TS_FIXED,
0,
8, 0, "",
0, 0, 0, "" },

{ "TAIL", 6, 0,
TS_FIXED,
0,
20, 0, "",
0, 0, 0, "" },

{ "USER_NAME", 2, 9,
TS_ENTRY,
TF_AUTTAB,
8, 0, "",
0, 0, 0, "" },

{ "USER_PASSWORD", 4, 9,
TS_ENTRY | TS_XMIT,
0,
8, 0, "",
0, 0, 0, "" },

{ "", 0, 0, 0, 0, 0, 0, "", 0, 0, 0, "" }

};
他提供的结构定义如下:
struct tsxfieldinit {
char8 *name; /* field name */
int32 row; /* row number */
int32 col; /* column number */
int32 style; /* field style */
int32 flags; /* field flags */
int32 size; /* field size */
int32 len; /* length of current field data */
char8 *data; /* pointer to field data */
int32 ptype; /* pattern type (0=no pattern,1=visible,2=hidden) */
int32 psize; /* pattern size */
int32 plen; /* length of the current pattern */
char8 *pattern; /* pointer to pattern */
};

我把他放在VC CONSOLE环境下INCLUDE 该。C文件后,出现下面提示:
error C2440: 'initializing' : cannot convert from 'char [5]' to 'signed char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
h:\antenna\antennascr.c(23) : error C2440: 'initializing' : cannot convert from 'char [1]' to 'long'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
h:\antenna\antennascr.c(24) : error C2440: 'initializing' : cannot convert from 'char [1]' to 'long'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast

很困惑,大家给看看把
...全文
113 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
MITSMI 2005-10-21
  • 打赏
  • 举报
回复
不是说cannot convert from 'char [5]' to 'signed char *'

那你就显示转换一下这个指针吧

比如:
char ch[5] = "asdf" ;
signed char* tmp = (signed char*) ch ;

sdqdzyb 2005-10-21
  • 打赏
  • 举报
回复
不是

#ifndef TEK_TYPES_DEFINED
typedef unsigned char uint8;
typedef unsigned short uint16;
typedef unsigned long uint32;
typedef signed char int8;
typedef signed short int16;
typedef signed long int32;
#endif

typedef int8 char8;
typedef uint8 uchar8;
sdqdzyb 2005-10-21
  • 打赏
  • 举报
回复
char8 就是以前老C 用的,别公司提供的DLL等组件就是用哪个写的
sdqdzyb 2005-10-21
  • 打赏
  • 举报
回复
奇怪的是我用不支持MFC的CONSOLE方式,INCLUDE 后编译没问题
菜牛 2005-10-21
  • 打赏
  • 举报
回复
char8是什么东西?
zxyjyzxyjy 2005-10-21
  • 打赏
  • 举报
回复
你在帮助索引里输入C2440查看信息,然后还可点击
Technote: Improved Conformance to ANSI C++
链接看更多的信息。一定对你有用的。
vcmute 2005-10-21
  • 打赏
  • 举报
回复
.c .cpp都可以,不知道你的char8和int32定义是?
enum{TS_FIXED,TS_ENTRY,TF_AUTTAB,TS_XMIT};
typedef char char8;
typedef int int32;
sdqdzyb 2005-10-21
  • 打赏
  • 举报
回复
怎么手工转换

望指教
MITSMI 2005-10-21
  • 打赏
  • 举报
回复
这个和编译器有关

手工转换一下
sdqdzyb 2005-10-21
  • 打赏
  • 举报
回复
up

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧