question regarding to C
登录 | 论坛导航 -> 华新鲜事 -> 社会百科 | 本帖共有 5 楼,分 1 页, 当前显示第 1 页 : 本帖树形列表 : 刷新 : 返回上一页
<<始页  [1]  末页>>
作者:dearjohn (等级:2 - 初出茅庐,发帖:76) 发表:2003-07-01 15:29:08  楼主  关注此帖
question regarding to C
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>

int main()
{
int n = 3;
double *tptr = malloc(n*sizeof(double));
if (tptr != NULL)
free(tptr);
return 0;
}



got such error:

error C2440: 'initializing' : cannot convert from 'void *' to 'double *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast

what's wrong with it? Thanks
Put your OWN COOL signature here!
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:dearjohn (等级:2 - 初出茅庐,发帖:76) 发表:2003-07-01 15:37:03  2楼 评分:
question regarding to C#include #include #include int main() { int n = 3; double *tptr = malloc(n*sizeof(double)); if (tptr != NULL) free(tptr); return 0; } got such error: error C2440: 'initializing' : cannot convert from 'void *' to 'double *' Conversion from 'void*' to pointer to non-'void' requires an explicit cast what's wrong with it? Thanks
I am using VC, seems
I have to convert the type in this program.

double *tptr = (double*) malloc(n*sizeof(double));

after using this statement, there is no errors, faint. Do you know why? Is it because of VC's complier settings?
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:dearjohn (等级:2 - 初出茅庐,发帖:76) 发表:2003-07-01 19:45:34  3楼
是的c++中付值的时候类型必须是安全的。c中就不用。 你用VC default 是c++
那么请问VC的default可不可以改成C?谢谢
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:dearjohn (等级:2 - 初出茅庐,发帖:76) 发表:2003-07-01 21:32:36  4楼
你用的哪个版本的VC?找找啦,应该有选项的啦。 找不到就手工把 /TP 换成 /TC
我是用VC6.0,原来可以改成default C吗?
那就太好了,因为我现在在赶一个project,是用C的,如果像你说得那样的话,C++ default的编译环境可以改成C default的话,那就太好了
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:dearjohn (等级:2 - 初出茅庐,发帖:76) 发表:2003-07-01 21:48:10  5楼
是的c++中付值的时候类型必须是安全的。c中就不用。 你用VC default 是c++
这是我在别处看到的
在QA003121 "VC中的debug版和Release版本的程序有什么区别"中我们介绍了Debug和Release版本的主要区别。在MFC中,还大量使用了ASSERT宏,这些宏通常可以来纠正一些错误,如还没有初始化指针就使用等。你所遇到的信息就是ASSERT宏报告的错误。通常你要检查一下是否存在错误。在Release方法下,ASSERT宏不会执行,所以也没有错误信息。不过,MFC中的ASSERT宏有时管得有点宽,如果确认没有错误,也可以不理会它。


果真是这样吗?可惜我的时间了,呜呜呜,我是把书上的程序照抄上去都出错!真得要哭了!
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
论坛导航 -> 华新鲜事 -> 社会百科 | 返回上一页 | 本主题共有 5 篇文章,分 1 页, 当前显示第 1 页 | 回到顶部
<<始页  [1]  末页>>

请登录后回复:帐号   密码