그래서 정적 멤버 내 헤더 파일이 있습니다C++ 클래스의 정적 멤버
이#include "ProfileManager.h"
namespace Engine
{
map<const char*, vector<float>> ProfileManager::profiles;
map<const char*, vector<float>>::iterator ProfileManager::it;
pair<map<const char*, vector<float>>::iterator, bool> ProfileManager::ret;
}
링커는 항상 정적 멤버는 것에 대해 불평 :
#ifndef PROFILE_MANAGER_H
#define PROFILE_MANAGER_H
#include <map>
#include <vector>
using namespace std;
using std::vector;
namespace Engine
{
class ProfileManager
{
private:
static map<const char*, vector<float>> profiles;
static map<const char*, vector<float>>::iterator it;
static pair<map<const char*, vector<float>>::iterator, bool> ret;
};
}
#endif
그리고 내 CPP 파일에
내가 정의가를 비록 내가 cpp 파일에서 정의한 미해결 외부 (LNK2001). 왜 어떤 아이디어?
나는 컴파일러가 누락 된 세미콜론에 대해 불평하지 않는다는 것에 더 놀랐습니다! –
오른쪽 시프트 연산자를 반복적으로 사용하는 것은 말할 것도 없습니다. – WhozCraig
당신은 cpp 파일을 컴파일하고 있습니까? –