我嘗試創建一個區域與下面的代碼行:VC6 - 如何用用戶定義的方面創建一個std :: locale?
std::locale loc(std::locale::classic(), new comma);
的comma
的定義是:
struct comma : std::numpunct<char> {
char do_decimal_point() const { return ','; }
};
我認爲它應該工作,因爲我看到MSDN文檔中類似的構造函數調用到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 _very_樂觀。我很驚訝仍然有MSDN文檔,但它肯定不再受支持。即如果文檔錯誤,Microsoft不會修復它。 – MSalters
@MSalters:我對參與計算的人stackoverflow.com持樂觀態度,經常沒有得到有用的答案,但不幸的是,沒有人能夠深入挖掘VC6部分。 –
好吧,有更多的人在努力恢復渡渡鳥,而不是那些希望看到VC6迴歸的人。 – MSalters