나는 코드의 다음 줄에 로케일을 만들려고 :VC6 - 사용자 정의면을 사용하여 std :: locale을 만드는 방법은 무엇입니까?
std::locale loc(std::locale::classic(), new comma);
comma
의 정의는 다음과 같습니다 내가 MSDN 설명서에있는 유사한 생성자 호출을 본대로 작동한다고 생각
struct comma : std::numpunct<char> {
char do_decimal_point() const { return ','; }
};
~
facet. 불행히도 오류가 발생합니다.
error C2664: '__thiscall std::locale::std::locale(const char *,int)' : cannot convert parameter number 1 from 'const class std::locale' in 'const char *'
알고 계시 겠지만, 어떻게해야 제대로 할 수 있습니까?
Stackoverflow에 대한 답변이 있는데,이 방법으로 올바르게 처리 할 수 있습니다 (this 또는 this one). 그러나 이전 VC6 컴파일러는이 생성자를 지원하지 않습니다 (VC6 설명서의 예제에서이 생성자를 사용하지만). 하지만 VC6에서 패싯을 사용하는 방법이 있어야합니다. 그렇지 않으면 문서의 일부가되지 않습니다.
당신은 VC6에 대한 변하지 않았고 앞으로도 낙관적 인 것입니다. 나는 MSDN 문서가 여전히 놀랍다. 그러나 확실히 더 이상 지원되지 않는다. 나는. 설명서가 틀린 경우 Microsoft는 수정하지 않습니다. – MSalters
@ MSalters : 저는 사람들이 stackoverflow.com에 참여하는 것에 대해 낙관하고 있습니다. 더 자주 도움이되는 답변을 얻지 못했지만, 불행히도 아무도 VC6 부분을 파고 들지는 못합니다. –
음, VC6을 다시보고 싶어하는 사람들보다 도도를 되살리기 위해 노력하는 사람들이 더 있습니다. – MSalters