У меня есть класс, представляющий зону захвата в игре. Внутри этого класса у меня есть вектор игрока, которые захватывают эту зону (CUtlVector вектор класс из SDK я использую)C++ Передача объекта по ссылке?
typedef CUtlVector<ConquestPlayer*> CappingPlayersType; (defined outside of class)
CappingPlayersType CapturePlayers;
В моем классе GameManager, я пытаюсь получить список захвата игрока используя этот код.
void GameManager::UpdateCaptureData()
{
// Loop Active Capture Points
for(int i = 0; i < CaptureZones.Count(); i++)
{
// Get List of Active Players Capturing this Point
CappingPlayersType *CapturePlayers = NULL;
int CapPlayersCount = CaptureZones.Element(i)->GetPlayersCapturing(CapturePlayers);
int CTriggerCaptureZone::GetPlayersCapturing(CappingPlayersType &CapPlayers)
{
CapPlayers = CapturePlayers;
return CapturePlayers.Count();
}
Это было в то время, хотя и я не могу вспомнить, что лучший способ для получения списка из функции и хранить его в локальной переменной. IIRC Я не могу пройти по ссылке, так как объект CapturePlayers равен NULL, но я в недоумении. Любая помощь приветствуется.
Ваш код является путаным. Кажется, что вы всегда передаете нулевой указатель на функцию GetPlayersCapturing, а затем пытаетесь принудить ее к ссылке. Можете ли вы более подробно объяснить, что вы пытаетесь сделать, и почему CapturePlayers всегда NULL? – Cam