【发布时间】:2015-11-26 10:50:03
【问题描述】:
我正在上以下课程:
class mem
{
private:
char _memory[0x10000][9];
public:
const (&char)[9] operator [] (int addr);
}
我的目标是能够像数组一样使用mem 类,而稍后实现会更复杂。所以,我应该可以
- 像“mem[0x1234]”一样访问它以返回对 9 个字符数组的引用
- 像 'mem[0x1234] = "12345678\0";' 一样写入它
这是我尝试过的:
#include "mem.h"
const (&char)[9] mem::operator [] (int addr)
{
return &_memory[addr];
}
但是,它说该方法“必须有一个返回值”,我认为我已将其定义为 (&char)[9],但作为此定义,我收到错误消息“预期标识符”。
【问题讨论】:
标签: c++ arrays reference operator-overloading