代码之家  ›  专栏  ›  技术社区  ›  n179911

如何将字符串文本传递给接受const std::wstring的函数&

c++
  •  10
  • n179911  · 技术社区  · 15 年前

    我有一个函数需要 const std::wstring& font_家族,即。

    Font Font::CreateFont(const std::wstring& font_family){ ... }
    

    问题是我如何通过传递字符串文字(例如monospace)来调用该函数?

    我试过了

    CreateFont("monospace");
    CreateFont("std::wstring("monospace") );
    

    两者都不能编译。

    2 回复  |  直到 15 年前
        1
  •  16
  •   Jim Lamb    15 年前

    尝试:

    CreateFont(L"monospace");
    

    前导的“L”指示编译器生成宽(wchar_t)字符串。

        2
  •  2
  •   jspcal    15 年前
    std::wstring s(L"Monospace");
    CreateFont(s);
    

    wstring的ctor不接受窄字符,只接受宽字符。。。