c++ - 在类中为静态无符号字符传递和分配值

标签 c++ arrays constructor pass-by-reference destructor

我有这段代码,我无法将传递给类构造函数的 unsigned char 复制到类中的 unsinged char 变量。

主文件

static unsigned char ic_opacity_black_24dp_bits[] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00,
};
String cc="hello"
ICON a(cc,ic_opacity_black_24dp_bits);

图标.h

#ifndef ICON_H
#define ICON_H
class ICON
{
  private:
    String title;
    static unsigned char _update_icon_bits[];

  public:
    ICON(String,unsigned char*,U8G2 u8);
    ~ICON();
};

#endif

图标.CPP

#include"ICON.h"
#define DHEIGHT 128
#define DWIDTH 64

ICON::ICON(String _title,unsigned char *ic, U8G2 u8)
{
//initializing values 
 title=_title;
_update_icon_bits=ic;


}

ICON::~ICON() ///default distructor
{
}

我没有在我的类变量中获取传递的 char 数组的值。传递 char 数组以将值赋值给类中的变量的方法应该是什么?

最佳答案

您不能为数组类型赋值。您可以:

  • 让它成为一个指针static unsigned char* _update_icon_bits;
  • 将其保存为一个数组,但使用 for 循环或其他方式将内容复制到此数组
  • 改用std::vector(首选)

关于c++ - 在类中为静态无符号字符传递和分配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44678089/

相关文章:

c++ - CRC-8 的实现。初始化参数有什么作用?

c++ - 如何使用 std::function 编写指向成员函数的指针?

java - 打印数组列表中的特定部分

C++ 构造函数中不需要的隐式转换

c++ - -lboost_system 对 cygwin 上对 `boost::system::system_category()' 的 undefined reference 没有帮助

C++ 输出错误(新增问题)

arrays - 如何从带有链接的数组中获取值?

php - 将平面数组拆分为 n 个元素的 block ,然后反转每个 block 中的顺序

c++ - 如何防止警告 C4355 : 'this' : used in base member initializer list

php - __construct() vs SameAsClassName() 用于 PHP 中的构造函数