<AAA.h>
#pragma once
#include <vector> // fwd decl은 안 된다고 한다. //template <typename T> class std::vector;
/*
namespace std {
template<class _Ty> class allocator;
template<class _Ty, class _Ax> class vector;
};
// 이렇게 고쳐도 안 됨 전방선언 안 되는 건 마찬가지당...
*/
namespace NS {
template <typename T> class AAA{
public:
AAA(size_t size=0, T value=0);
virtual ~AAA(void);
protected:
std::vector<T>* _vector;
};
}
<AAA.cpp>
#include "NS.h"
#include <vector>
using namespace std;
using namespace NS;
template <typename T>
AAA<T>::AAA (size_t size=0, T value=0) :
_vector(new std::vector<T>(size, value))
{}
template <typename T>
AAA<T>::~AAA (void) {
delete _vector;
}
아오 #include를 하면 링크 에러 나고
#inlcude 안 하고 fwd decl 하면 컴파일 에러가 나고 이거 왜 이럼?
#pragma once 위에 #include 해 보지?
그냥 LPVOID 해버림 -_-신박