2009-04-15 2 views
1

Я знаю, что это на самом деле основной, но его получил меня в тупик ...Ошибка при определении массива, даже если его набор через Constant

В Objective-C Я пытаюсь написать:

const int BUF_SIZE = 3; 

static char buffer[BUF_SIZE+1]; 

Но я получаю размер буфера не постоянным. Как заставить Xcode понять, что я устанавливаю его в константу, + 1 ...? Или это невозможно ...?

Спасибо ...!

Joel

ответ

3

Я думаю, что это C вещь, если я правильно помню, C только позволяет определить размеры массива с буквальным выражениями (нет символов бы то ни было). Я бы просто использовал константу #define как обходной путь.

+0

Спасибо - я полностью забыл о #DEFINE ... J –

1

Вы можете использовать перечисление:

enum 
{ 
    BUF_SIZE = 3 
}; 

или макрос

#define BUF_SIZE 3 
1

происходит в НКУ с такими вещами как:

#define LPBUFFER_LGTH ((int) (2*MS25)) 

а. Обходной путь, как указано выше: hardcode константа, которую вы хотите. Я думаю, что проблема заключается в «определении определения», т. Е. дважды.

 Смежные вопросы

  • Нет связанных вопросов^_^