专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VC

Cszie 结构体赋值异常

发布时间:2011-06-23 14:25:35 文章来源:www.iduyao.cn 采编人员:星星草
Cszie 结构体赋值错误
源码如下:
typedef struct
{
  int x;
  int y;
  Csize size;
 }IntStur;

//在函数中初始化
IntStur stur[] = {
{1,2,Csize(0,0)},
{2,2,Csize(0,0)}
};
出现错误提示
error C2440: 'initializing' : cannot convert from 'const int' to 'IntStur '
  No constructor could take the source type, or constructor overload resolution was ambiguous

但是在vc2010下编译和运行都正常

------解决方案--------------------
这个问题首先得理解指针常量和常量指针的区别,简单的说指针常量即指针是常量,也就是指针的指向不能再改变了。常量指针即指针指向的内容是常量,即指针指向的内容是不能改变的。
一般区分这两种指针可以看const的位置,如果定义的时候再 * 前则为常量指针,在 * 后面则为指针常量。问题中对const变量ic取址即类似于定义了一个常量指针,而 int *const cpi则定义了一个指针常量。两个完全不一样的东西赋值,因此会报类型转换错误!


这个是我找的,你看下,你这个代码是这里报的错吗
在看看初始化的时候是怎么回事
有没有类型转换这样的动作
------解决方案--------------------

CSize??

------解决方案--------------------
改用SIZE结构体试试。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: