Я получаю ошибку компилятора с этим разделом кода. Говорят, что нет подходящего преобразования из NP C в NP C*.
Player::Player(Game* g) {
target = g->getNPCListItem(0);
}
Это то, что называется в основном:
int main()
{
Game* gameRef = new Game();
}
Это Конструктор Game:
Game::Game() {
player = new Player(this);
}
И, наконец, вот код для целевого указателя:
class Player {
NPC* target;
}
У меня такое ощущение, что проблема заключается в другой части моего кода.
Вот свойство:
class Game {
NPC* nPCList[2];
}
Вот инициализация:
bool Game::initNPCList() {
nPCList[0] = new NPC("Gregory");
nPCList[1] = new NPC("Tasha");
return false;
}
И, наконец, здесь вызывается функция, которая может создавать компилятор ошибка.
NPC& Game::getNPCListItem(int i) {
return *nPCList[i];
}
Дайте мне знать, если мне нужно добавить дополнительную информацию.
Вывод:
1>------ Build started: Project: CloutGame, Configuration: Debug Win32 ------
1>misc.cpp
1>C:\Zach In A Bear Studios\CloutGame\CloutGame\CloutGame\misc.cpp(66,31): error C2440: '=': cannot convert from 'NPC' to 'NPC *'
1>C:\Zach In A Bear Studios\CloutGame\CloutGame\CloutGame\misc.cpp(66,28): message : No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
1>Done building project "CloutGame.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Список ошибок:
Severity Code Description Project File Line Suppression State
Error (active) E0413 no suitable conversion function from "NPC" to "NPC *" exists CloutGame C:\Zach In A Bear Studios\CloutGame\CloutGame\CloutGame\misc.cpp 66
Error C2440 '=': cannot convert from 'NPC' to 'NPC *' CloutGame C:\Zach In A Bear Studios\CloutGame\CloutGame\CloutGame\misc.cpp 66