를 만드는 방법은 다음 줄 시도 :
static const const char* values[];
을하지만 난 VC++ 경고 C4114에 다음과 같은 경고를 얻을 : 같은 종류 규정 한 번 이상 사용했다.
올바른 선언은 무엇입니까?
편집 : 왼쪽이 속한 :
는 목표는는 const를 문자의 const 정적 배열 *
답변
const const
대신 또한
(당신이 포인터와 const
같은 기본 값을 정의) static const char* const values[];
, 당신은 그것을 초기화해야합니다
static const char* const values[] = {"string one", "string two"};
+1과 동일하지만 초기화는 컨텍스트에 달려 있습니다. 클래스의 '정적'멤버 (내 추측)가 아니라면 초기화되지 않습니다. 선언에서 할 수 있습니다 ... –
정확하게 이해합니까, 첫 번째 const는 문자열에 대한 것이고 두 번째 것은 배열에 대한 것입니까? – Tommy
키워드'const'를 명확히하기 위해 :'const'는 항상 왼쪽에있는 "item"과 관련이 있습니다. 예외적으로, const가 표현식의 첫 번째 단어 일 때, 그 단어는 바로 그 단어와 관련이 있습니다. 그래서 극도로 정확하려면 문자열을'static char const * const values []'로 정의하면 오른쪽에서 왼쪽으로 읽을 수 있습니다 : values는 const char에 대한 const 포인터의 배열이며이 모든 것은 정적입니다. – AquilaRapax
이
아이디어는*
의 양쪽 옆에있는 두 개의
const
의를 배치하는 것입니다
static const char* const values[];
시도 C 문자열의 불변의 배열을 만드는 것입니다 char
(상수 문자), 오른쪽은 char*
(상수 포인터 대문자)에 속합니다.
제쳐두고 이것은'static char const * const values []' – Dennis
- 1. CONST 객체와 const를 생성자
- 2. 통근 const를 배열
- 3. 는 const를 회원
- 4. 는 D2D1_POINT_2F을에서 const const를 포인트로 변환 할 수 없습니다
- 5. 문자의 배열
- 6. 정적 const 참조 temporaries
- 7. 'char const *'에서 const를 제거하는 방법
- 8. CONST 숯불 myVar에 * 대 const를 문자 myVar에 []
- 9. 정적 라이브러리 : 정적 const 배열 - LNK2001 : 라이브러리에서 응용 프로그램의 확인할 수없는 외부 기호
- 10. 문자열의 정적 배열 초기화 (C++)?
- 11. C++는 성병 const를 숯불 * : 문자열
- 12. 전용 멤버 : 정적 const 대 단지 const
- 13. C++ const를 수수께끼
- 14. const 배열 const 값에 대한 포인터
- 15. 과부하가 걸린 템플릿 멤버 함수에 대한 const 포인터의 정적 배열
- 16. 정적 배열 선언에서 두 번 사용되는 C++ const
- 17. "const LPVOID"는 "void * const"와 동일합니까?
- 18. "const"는 어떻게 구현됩니까?
- 19. const 정적 오류 [플래시] 정적 상수 참조
- 20. 는 설명 : 변환 '문자를 **'에 'const를 문자 **', 변환이 손실 예선
- 21. 는 왜 const를 인수 기능/방법에 CONST 개체를 전달할 수없는 이유는 무엇입니까?
- 22. 는 * const를 문자와 표준 : : 문자열 CONST 및 기능을 오버로드 할 수 없습니다
- 23. 추상 baseclass에 정적 const 변수
- 24. 정적 const 문자열 초기화되지 않습니다
- 25. const 변수를 정적 변수로 변경했습니다.
- 26. 글로벌 const 정적 문자열 변수
- 27. STL 정적 Const 멤버 정의
- 28. const 정적 무효 * 방법() C
- 29. Objective-C 정적 const 변수
- 30. 정적 배열 할당 문제!
뭘 만들려합니까? 상수 문자에 대한 상수 포인터의 배열? –