저는 C++을 처음 접했고 구조체를 배열에 저장하는 문제에 봉착했습니다. 나는 이미 이것에 관해서 보드를 수색했지만, 아무도 나의 특정한 문제를 가지고있는 것처럼 보이지 않는다.구조체를 배열로 저장 (C++)
동적 인 마법 주문이 필요한 텍스트 기반 RPG 게임을 만들고 있습니다. 스펠은과 같이 정의, 구조체입니다 : -
struct spell
{
std::string mSpellName;
int mRequiredMagicPoints;
};
그때 생성하고 구조체의 두 인스턴스 초기화 : -, 나는이 두 개의 인스턴스를 저장하려고) (주에서, 그리고
spell fireBall {"Fire Ball", 10};
spell magicMissile {"Magic Missile", 5};
을 벡터 배열 : -
int main()
{
std::vector<spell> mSpells[2];
mSpells[0] = fireBall;
mSpells[1] = magicMissile;
}
그러나, 엑스 코드는 "아니오 가능한 오버로드 '='"
나는 하 나 소리 질러 및 읽기 또한 이러한 구조체를 기존 동적 배열에 저장하려고 시도했지만 여전히 컴파일되지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
미리 감사드립니다.
C는 C++은 C를 잘못 태그를 사용하지 마십시오 아니다 없습니다. – Olaf
어쩌면 당신은'std :: vector mSpells (2);', 2 요소의 벡터를 의미했을 수도 있습니다. 실제로 쓴 것은 두 개의 빈 벡터 배열입니다. –
['push_back'] (http://www.cplusplus.com/reference/vector/vector/push_back/) –