win32和控制台都能编译通过的代码,该如何解决

win32和控制台都能编译通过的代码
代码如下:
我想在函数WSAStartup()出错时提示一下,但我的代码要在控制台和win32下都要用,我该怎么来提示??

#pragma once
#include <WinSock2.h>

#pragma comment(lib, "ws2_32.lib")

class TWinsockInit 
{
public:
TWinsockInit(BYTE majorVer = 2, BYTE minorVer = 2) 
{
WSADATA wsadata;
if (!WSAStartup(MAKEWORD(majorVer, minorVer), &wsadata))
{
//TRACE("WSAStartup error with code %d\n", WSAGetLastError());

}
}
~TWinsockInit() 
{
if (!WSACleanup())
{
//TRACE("WSACleanup error with code %d\n", WSAGetLastError());

}

}

};

------解决方案--------------------
写个宏啊,不同的工程不同的显示错误方式
------解决方案--------------------
写个函数
void ReportError(LPCTSTR msg)
{
#ifdef _CONSOLE
printf("%s\n", msg);
#else
AfxMessageBox(msg);
#endif
}