是的
登录 | 论坛导航 -> 华新鲜事 -> 社会百科 | 本帖共有 4 楼,分 1 页, 当前显示第 1 页 : 本帖树形列表 : 刷新 : 返回上一页
<<始页  [1]  末页>>
作者:hula (等级:7 - 出类拔萃,发帖:3677) 发表:2003-07-01 16:45:35  楼主  关注此帖评分:
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
是的
c++中付值的时候类型必须是安全的。c中就不用。

你用VC default 是c++
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:hula (等级:7 - 出类拔萃,发帖:3677) 发表:2003-07-01 20:07:18  2楼
那么请问VC的default可不可以改成C?谢谢
你用的哪个版本的VC?
找找啦,应该有选项的啦。

找不到就手工把 /TP 换成 /TC
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:hula (等级:7 - 出类拔萃,发帖:3677) 发表:2003-07-01 20:08:41  3楼
那么请问VC的default可不可以改成C?谢谢
当然你要知道c++的类型安全是一种进步
养成习惯是好事情。
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:hula (等级:7 - 出类拔萃,发帖:3677) 发表:2003-07-01 20:15:28  4楼
suggest use: double *tptr = new double[n]if you use malloc(), you must tell which kind of type you want to convert. suggest use new and delete in C++: double *tptr = new double[n]; ... delete tptr;
呵呵,malloc比new更有效率
new(int n)
{
void *p = malloc(n * sizeof(object));
for i = 0 to n
{
p[i]->constructor();
}
}
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
论坛导航 -> 华新鲜事 -> 社会百科 | 返回上一页 | 本主题共有 4 篇文章,分 1 页, 当前显示第 1 页 | 回到顶部
<<始页  [1]  末页>>

请登录后回复:帐号   密码