qq_43509688 2019-03-14 21:07 采纳率: 0%
浏览 467

class的一个古怪问题,这是怎么回事?

各位大佬来帮一下我这位菜鸟吧!!!!

我在编程时弄了一个class
如下:

struct bowpicture
{
    string a[15];
};

再如此定义:

bowpicture p[21];

再这样赋值:

p[1]={"   |\ "
      "   | \ "
       "  | | "
      "   | /"
      "   |/"};

再输出:

for(int i=0;i<6;i++);
{
      cout<<p[1][i];
}

它就会报错:

190 12  F:\arrow.exe\arrow.cpp  [Error] no match for 'operator[]' (operand types are 'bowpicture' and 'int')

请各路大侠出手相助
告诉我这是怎么回事
我会感谢你们所有人的

  • 写回答

4条回答 默认 最新

  • bostonAlen 2019-03-14 22:39
    关注

    报错就是说你这个类还没有下标【】这个功能。自定义的类若要使用运算符,是需要运算符重载的,例如赋值,加号、下标等。

    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮