Как передать строковый литерал функции, которая принимает const std:: wstring &

У меня есть функция, которая принимает const std::wstring& font_family, т.е.

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

По вопросу, как я могу назвать этот funcion, передавая строковый литерал (например, monospace)?

Я пробовал

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

Оба не компилируются. У кого-нибудь есть идея?

Спасибо.

Ответ 1

Попробуйте:

CreateFont(L"monospace");

Ведущий "L" направляет компилятор для генерации широкой строки (wchar_t).

Ответ 2

std::wstring s(L"Monospace");
CreateFont(s);

ctor для wstring не принимает узкие символы, только широко...