1
정말 쉽지만이 문제는 현재 저를 괴롭 히고 있습니다. 지금클래스 선언이없는 친구 멤버 함수
#pragma once
//...
class arrayObj
{
private:
// some variables...
public:
//constructor, destructor, getters, etc...
friend void objManager::foo();
};
//...
class objManager
{
private:
//...
std::vector<std::shared_ptr<arrayObj>> array;
public:
void foo();
//other methods...
};
을있는 그대로, 내 컴파일러는 objManager의 클래스 선언 (또는 멤버 함수를) 찾을 수 없습니다 :
header.h가 : 그래서, 난의 영향으로 C의 ++ 클래스를 쓰고 있어요 친구 포함을 위해 선언했다. 그러나 arrayObj 이전에 objManager 선언이 있으면 arrayObj는 더 이상 공유 포인터의 내부 벡터에 대해 선언되지 않습니다. 이 인스턴스에서 objManager를 선언하거나 다른 방법으로 objManager를 별도의 클래스로 해체하지 않고이 문제를 해결할 수있는 방법이 있습니까?
이 작품은 - 감사합니다. – Huntrontrakkr