Tôi muốn tạo một mảng tĩnh không đổi để được sử dụng trong toàn bộ tệp triển khai Objective-C của mình, tương tự như một cái gì đó như thế này ở cấp cao nhất của tệp ".m" của tôi:
static const int NUM_TYPES = 4;
static int types[NUM_TYPES] = {
1,
2,
3,
4 };
Tôi dự định sử dụng NUM_TYPES
sau này trong tệp nên tôi muốn đặt nó vào một biến.
Tuy nhiên, khi tôi làm điều này, tôi gặp lỗi
"Các loại 'được sửa đổi khác nhau ở phạm vi tệp"
Tôi thu thập rằng điều này có thể liên quan đến kích thước mảng là một biến (Tôi không nhận được thông báo này khi tôi đặt một số nguyên theo nghĩa đen ở đó, chẳng hạn như static int types[4]
).
Tôi muốn sửa lỗi này, nhưng có lẽ tôi đã làm sai ... Tôi có 2 mục tiêu ở đây:
- Để có một mảng có thể truy cập được trong toàn bộ tệp
- Để đóng gói
NUM_TYPES
thành một biến để tôi không có cùng một chữ nằm rải rác ở các vị trí khác nhau trong tệp của mình
Bất kỳ đề xuất?
[EDIT] Tìm thấy điều này trong C FAQ: http://c-faq.com/ansi/constasconst.html
#define kNUM_TYPES 4
?