Здравствуйте, __kain, Вы писали:
__>В двух словах: генерирую исключение, хочу посмотреть текст. Вылетаю. Вот код:
__>Причем получается так, что при переделке с использования wchar_t на std::wstring пример работает. Не могу понять, почему приведенный текст не работает.
Если нельзя использовать std::wstring, то можно так:
class CSomeException
{
private:
shared_ptr<wchar_t const> msg_;
int code_;
public:
CSomeException(int code, const wchar_t* msg)
: code_(code)
, msg_(wcsdup(msg), free)
{
}
wchar_t const* GetMessage() const
{
return msg_.get();
}
int GetCode() const
{
return code_;
}
};
Но вообще с std::wstring было бы оптимально.