本文介绍了如何使用win32编写通用警报消息?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想把这个方法扩展为更通用的东西,它应该接受任何类型的参数,并使用MessageBox code> void alert(char * item)
{
MessageBox(NULL,item,Message,MB_OK | MB_ICONINFORMATION);
}
任何人都可以帮助?
解决方案
#include< sstream>
template< typename T>
void alert(T item)
{
//这接受所有支持operator<<
std :: ostringstream os;
os<<项目;
MessageBoxA(NULL,os.str()。c_str(),Message,MB_OK | MB_ICONINFORMATION);
}
//现在你需要专门化宽字符
void alert(const wchar_t * item)
{
MessageBoxW ,item,Message,MB_OK | MB_ICONINFORMATION);
}
I just want to expand this following method into something more generic, which should accept any kind of argument and display it using MessageBox():
void alert(char *item)
{
MessageBox(NULL, item, "Message", MB_OK | MB_ICONINFORMATION);
}
Can anyone help?
解决方案
#include <sstream>
template<typename T>
void alert(T item)
{
//this accepts all types that supports operator <<
std::ostringstream os;
os << item;
MessageBoxA(NULL, os.str().c_str(), "Message", MB_OK | MB_ICONINFORMATION);
}
//now you need specialization for wide char
void alert(const wchar_t* item)
{
MessageBoxW(NULL, item, "Message", MB_OK | MB_ICONINFORMATION);
}
这篇关于如何使用win32编写通用警报消息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!