새로운 Linux 배포판 (check it out as soon as I finish)에 대한 간단한 패키지 관리자를 빌드 중이며 문제가 발생했습니다. 내 install()
및 remove()
함수는 Package
개체의 지정되지 않은 양에 액세스해야합니다. 이것은 설치 기능입니다.C++에서 같은 이름의 여러 객체 피하기
void install(int argc, char *argv[]) throw()
{
for (int i = 2; i <= argc; i++)
{
Package p(argv[i]);
p.fetch();
cout << "Package " << p.getRef() << " retrieved succesfully from server.\n";
p.install();
cout << "Package " << p.getRef() << " installed succesfully.\n";
}
}
이 코드가 완전히 정결하지 않은 것으로 판단됩니다. 이로 인해 컴파일 및/또는 런타임 오류가 발생할 수있는 p
이라는 여러 객체가 생성됩니다. 내가 찾고있는 중 루프의 각 반복에서 p
이름을 변경하거나 하나의 반복 후 p
을 삭제하는 방법 중 하나입니다 그래서 그 이름의 다른 개체를 만들 자유롭게 될 것입니다.
C++에 대한 좋은 책을 읽어야합니다. 특히 범위 지정 규칙에 대해 알아야합니다. 변수'p'는 루프 내부에서 국부적으로 선언됩니다. 루프가 반복 될 때마다 새롭고 고유 한 객체가 만들어집니다. –
** 좋은 책 : ** https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list – Galik