计算机小混子 2022-03-12 11:22 采纳率: 100%
浏览 22
已结题

编译器报错如下图,求解释


#include <iostream>
using namespace std;
int main()
{
  //定义一个包含指针成员的结构类型
    struct test
    {
        char* str;
        int* ip;
    }x;
    //使用结构变量x中的整型指针
    x.ip = new int[1];//分配1个单元
    * (x.ip) = 100;
    cout << "x.ip:" << x.ip << '\t' << *(x.ip) << endl;
    cout << "____________________________________________" << endl;
    delete x.ip;
    x.ip = new int[5];//分配5个单元
    for (int i = 0; i < 5; i++)
        *(x.ip + i) = 100 + i;
    cout << "x.ip:" << endl;
    for (int i = 0; i < 5; i++)
        cout << x.ip + i << '\t' << (*(x.ip + i)) << endl;
    delete x.ip;
    cout << "_____________________________________________" << endl;
    //使用结构变量x中的字符型指针str
    x.str = new char('A');//分配1个单元
    cout << "x.str:" << *(x.str) << endl;
    cout << "_________________________________________________" << endl;
    delete x.str;
    x.str = new char[5];//分配多个单元
    *(x.str) = 'G';
    *(x.str + 1) = 'o';
    *(x.str + 2) = 'o';
    *(x.str + 3) = 'd';
    *(x.str + 4) = '\0';
    cout << "x.str:" << x.str << endl;
    delete x.str;
    cout << "_______________________________________________________" << endl;
    //在声明结构变量时初始化
    test y = { "Very Good!",NULL };
    cout << "y.str:" << y.str << endl;
    cout << "y.ip:" << y.ip << endl;







}

img

展开全部

  • 写回答

4条回答 默认 最新

  • [PE]经典八炮 2022-03-12 11:47
    关注

    我估计是const char*不能随便赋值给char*
    C++是强类型语言,对于类型要求比较严格

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月19日
  • 已采纳回答 3月12日
  • 创建了问题 3月12日

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部