oka,一米比照,与这一错误相fu。 在这里试图做的是,当联合国民主运动和——国际民联会(CNCODE)被定义时,便会作出基本的证明。 这确实奏效,但出于某种原因,无法界定一个得到 st function的职能:在宣布的类别之外铺设基础。 例如:
测试。
#ifndef TEST_H
#define TEST_H
#include <Windows.h>
#include <string>
class Test
{
public:
void func(std::basic_string<TCHAR> stringInput);
};
#endif
测试。
#include "测试。"
void Test::func(std::basic_string<TCHAR> stringInput)
{
MessageBox(NULL, stringInput.c_str(), TEXT("It works!"), MB_OK);
}
这产生了一个链接错误,要求测试:func从未定义过。 然而,如果我只是这样界定:
测试。
#ifndef TEST_H
#define TEST_H
#include <Windows.h>
#include <string>
class Test
{
public:
void func(std::basic_string<TCHAR> stringInput)
{
MessageBox(NULL, stringInput.c_str(), TEXT("It works!"), MB_OK);
}
}
#endif
it works fine. However, i really like to keep my declarations and definitions in separate files to avoid redefinition errors and for organization. Here s the kicker though. when i have func defined in 测试。 like before and don t define UNICODE and _UNICODE in my 主 席, i don t get the link errors. So really, the only time i get a link error is when TCHAR becomes a wchar_t. So here s my main and the error real quick...
主 席
#define UNICODE // this won t compile when these are defined
#define _UNICODE
#include <Windows.h>
#include <string>
#include "测试。"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
{
Test test;
test.func(TEXT("wakka wakka"));
return 0;
}
错误:
<代码>error LNK2019:未解决的外部编号“公开:无效__ 测试:func(级以下:基础:加强和设计;wchar_t,struct st :char_traits<wchar_t>,class :allotor<wchar_t> >) (?func@ Test@QAEXV?$basic_string@_WU$char_traits@_W@std@V?$alpositionor@_W@2@std@Z) 参考功能_WinMain@16
任何人都知道什么进展? 如何解决这一问题?