는 myfun(std::string parm1)
C++ 시행 네임 스페이스 준수
만 approvedParams
에서 유형 std::string
의 필드를 동의에 myfun
서명을 제한 할 수있는 기능을 존재 approvedParams
의 범위 이외의 네임 스페이스
approvedParams {
std::string s1 = "my_string_input_1";
std::string s2 = "my_string_input_2";
}
있다고 가정 네임 스페이스?
즉 :
myfun("my_string_input_1")
가 컴파일되지 않습니다.
myfun(approvedParams::s1)
이 컴파일됩니다.
나는 enum
으로 구현을 고려하고있었습니다. 그러나 궁극적으로 키 - 값 구성 파일을 구문 분석 할 때 approvedParams::s1
및 s2
을 사용하고 싶습니다. enum
은 필수 유형이어야합니다. 난 map<int,std::string>
과 std::string
와 열거 형 정수를 연결하는 다른 불필요한 레이어를 추가에 관심이 아니에요.
대신 enum을 사용 하시겠습니까? –
내 지식으로는 enum은 int 유형이어야합니다. 궁극적으로 문자열을 포함하려면 s1과 s2가 필요합니다. – bartonm
enum 값을 배열의 문자열에 대한 인덱스로 사용합니다. –