저는 cocos2dx에서 게임을 작성하고 있습니다. 나는 몇 번 호출되는 메서드를 리팩토링하려고합니다. vehicletype의 enum에서 2 차원 배열을 반환하고 싶습니다.C++의 스위치 케이스에서 2 차원 배열 반환
어떻게하면 다음과 같은 결과를 얻을 수 있습니까 ??
int Vehicle::getVehicle(VehicleTypes vehicletypes)
{
int vehicle[8][8] = {0};
switch (vehicleType) {
case Car:
// --- ARRAY 1 ------
vehicle = {
{ 0,0,0,0,0,0,0,0 },
{ 0,0,1,2,5,8,0,0 },
{ 0,0,5,3,4,5,0,0 },
{ 0,0,0,6,0,7,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
};
break;
case Bus:
{
// --- ARRAY 2 ------
Vehicle = {
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,1,2,0,0 },
{ 0,0,3,4,5,0,0,0 },
{ 0,0,6,8,7,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
};
break;
}
default:
break;
}
return vehicle;
}
감사
버스 케이스에서 올바른 변수 이름을 사용하면 도움이 될 수 있습니다. 'Vehicle! = vehicle'. –
반환 된 배열을 수정해야합니까? 위의 수정 후 – hmjd
: http://stackoverflow.com/questions/3716595/c-returning-multidimension-array-from-function의 거의 정확한 사본처럼 보입니다. int x [] []를 int로 반환 할 수 없습니다. –