我是目标C的新手。我正在从c ++移植到目标c。
RSDS.h
------
#import <Foundation/Foundation.h>
#import "msg_remote.h"
@interface RSDS : NSObject {
}
@interface RS232Data : NSObject {
unsigned char m_abTxMsgImage[RMH_MESSAGE_MAX_SIZE]; //
错误:可变修改 文件范围内的'm_abTxMsgImage'
}
msg_remote.h
------------
static const int RMH_MESSAGE_MAX_SIZE = 4096;
答案 0 :(得分:1)
const int
不像在C ++中那样工作。它只是声明一个不允许更改的变量,因此不允许您使用它来在数组声明中调整数组的大小。
你有两个选择来解决这个问题。将您的应用程序重新编译为Objective-C ++(通过将所有.m
扩展名更改为.mm
来执行此操作)或转换您的
static const int RMH_MESSAGE_MAX_SIZE = 4096;
到
#define RMH_MESSAGE_MAX_SIZE 4096
或者你可以做
enum
{
RMH_MESSAGE_MAX_SIZE = 4096
};