내가 성공하지 :(C++ 함수 정의 오류 (매개 변수 전달)
내 memaddr.h 내 템플릿 함수를 호출하기 위해 노력하고있어 :
#ifndef __MEM_ADDR_WRITER__
#define __MEM_ADDR_WRITER__
#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>
namespace MemAddr {
template <typename WRITABLE>
int WriteMemoryAddress(const char* process, unsigned long address, WRITABLE value);
}
#endif
호출 :
byte value = 0xEB;
MemAddr::WriteMemoryAddress("jamp.exe", 0x004392D2, value);
오류 메시지 :
undefined reference to `int MemAddr::WriteMemoryAddress<unsigned char>(char const*, unsigned long, unsigned char)`
nswer : 템플릿 (@Shaggi)
헤더 파일에 정의 넣기 (템플릿에 필요함) – Shaggi
[예약 된 식별자] (http://stackoverflow.com/questions/228783/what-are-the-rules-about-using-) an-under-in-ac-identifier)를 사용합니다. – chris
감사합니다 @Shaggi, 이것이 올바른 대답이었습니다. 그러나 그것은 정말로 어리 석다. 내 함수는 (템플릿을 사용하지 않는) 헤더 파일에서 다른 함수를 필요로하지만 헤더에 정의해야한다. 그래서 템플릿을 사용하는 경우 헤더를 거의 잊어 버려야합니다. – Iburidu