C++ question: literal form of std::map<int, std::array>

Naruhiko Ogasawara naruoga at gmail.com
Thu May 14 18:59:30 UTC 2020


Hi Stephan, *

2020年5月14日(木) 22:37 Stephan Bergmann <sbergman at redhat.com>:
>
> On 14/05/2020 12:40, Naruhiko Ogasawara wrote:
> > --------------------------
> > static const std::map<LanguageType, std::array<sal_uInt8, 4>> tblDBNumToNatNum
> >      = { { primary(LANGUAGE_CHINESE),    { 4, 5, 6, 0 } },
> >          { primary(LANGUAGE_JAPANESE),   { 4, 5, 3, 0 } },
> >          { primary(LANGUAGE_KOREAN),     { 1, 2, 3, 9 } } };
> > --------------------------
> >
> > The compiler claimed:
> > --------------------------
> > Error (active) E0289 no instance of constructor "std::map<_Kty, _Ty,
> > _Pr, _Alloc>::map [with _Kty=LanguageType, _Ty=std::array<sal_uInt8,
> > 4U>, _Pr=std::less<LanguageType>,
> > _Alloc=std::allocator<std::pair<const LanguageType,
> > std::array<sal_uInt8, 4U>>>]" matches the argument list
> > --------------------------
>
> There should be no reason that that does not work.  Probably an issue
> with whatever specific compiler you are using?
>

I'm not sure but I'm using latest LODE in Windows 10, with Visual Studio
Community 2019 V16.5.5, with MSVC v142 + Clang 9.0.0.
And my build has branched from master:
0b81aaa36b5b78e208c5cc2cd36b4906b8d636a6

Best regards,
-- 
Naruhiko NARU Ogasawara (naruoga at gmail.com)


More information about the LibreOffice mailing list