내가 클래스 안에서 정적 멤버 변수 배열을 쓰는데
=======================================================================
// .h 파일
class HybridSort
{
static TCHAR * sortNameAr[];
}
//여기서부터 .c파일
TCHAR * HybridSort::sortNameAr[] = {L"QuickSort", L"MergeSort", L"RadixSort", L"BubbleSort", L"CocktailSort", L"InsertionSort", L"SelectionSort", L"ShellSort"};
======================================================================
배열 순회할 일이 있어서 sizeof(HybridSort::sortNameAr)로 접근을 하면
error C2070: 'TCHAR *[]': sizeof 피연산자가 잘못되었습니다. 오류가 나오더라고
배열 크기를 지정해 주면 오류가 안나긴 하던데
배열 크기를 생략하면서 sizeof를 사용하는 방법 없을까?
나도 삽질하다 알아냈는데.sizeof(HybridSort::sortNameAr)코드보다 배열초기화 코드가 컴파일 흐름상 먼져오면됨.class HybridSort{ static TCHAR * sortNameAr[]; void func();}TCHAR * HybridSort::sortNameAr[] = {L\"QuickSort\", L\"MergeSort\", L\"RadixSort\", L\"BubbleSort\", L\"CocktailSort\", L\"InsertionSort\", L\"SelectionSort\", L\"ShellSort\"};void HybridSort::func(){ int xx = sizeof(HybridSort::sortNameAr);}