Original Post
Hello, I get the following linker error for what seems to be no reason at all. 1>SWPBase.obj : error LNK2001: unresolved external symbol "void __cdecl SkepWorks::Memory::Free(void *,unsigned int)" (?Free@Memory@SkepWorks@@YAXPAXI@Z) It only happens when I uncomment this line: Why is it being so erratic? There are no errors in my operator delete[] function that uses the exact same function. SWMemory.h: Thanks for any assistance, exorcist_bob
#pragma once
#include "SWMemory.h"
namespace SkepWorks
{
class SWPBase
{
public:
SWPBase(void);
public:
virtual ~SWPBase(void);
void *operator new (size_t size) { return Memory::Alloc (size); }
//void operator delete (void *ptr, size_t size) { Memory::Free (ptr,size); } //this line
void *operator new[] (size_t size) { return Memory::Alloc (size); }
void operator delete[] (void *ptr, size_t size) { Memory::Free (ptr,size); }
};
}
#include "SkepWorks.h"
namespace SkepWorks
{
namespace Memory
{
//more functions
SkepWorksExport void Free (void *ptr, size_t size);
};
}
void Free (void *ptr, size_t size)
{
if (!ptr)
return;
if (freefn)
freefn (ptr,size);
else
free (ptr);
}