이 오류가 왜 신고되지 않은 식별자입니까?컴파일러가 왜 위의 "if"문에서 선언 한 변수에 대해 "선언되지 않은 식별자"라고 말합니까?
void IDcard::Prepare(CoatingDecorator *coating)
{
if (select == 1) { IDcard *currentID = new Passport(); }
else if (select == 2) { IDcard *currentID = new DriversLicence(); }
AddPhoto();
coating->Prepare(currentID);
std::cout << "Total Cost: " << coating->totalCost;
DispenseID();
}
(구체적 currentID
파라미터 coating->Prepare(currentID)
호출).
현재까지는 if 문에서 currentID를 선언 할 수 있습니다.
MS VS2012에서이 코드를 실행하면 오류 코드는 C2065입니다.
'currentID'는 if 문의 내에서와 같이 – juanchopanza
으로 선언 된 범위에만 존재합니까? – user3001499
@juanchopanza가 말한 것에 덧붙여,'select'는 어디에 선언 되었습니까? 나는 그것이 회원/글로벌이라고 가정하고 있습니까? – nonsensickle