흠 ... Visual Studio 2012를 사용하여이 하나에 난처한 상황이 있습니다. 프로젝트에 단 하나의 오류 만 남았고 테스트를 기다리고 있습니다. 예, C++ 클래스 용이며 충분한 코드를 게시하기를 바랍니다. (AN> writeData는 클래스를 지정해야합니다/구조체/조합/제네릭 형식이 예제에서 포인터와 클래스가 함께 작동하는 방식을 이해하지 못했습니다.
이 줄 포인터의 배열의 요소를 가지고 있었다 이전 프로젝트에서 -의
C2227 왼쪽 :
나는 오류를 얻을 직원 * 포인터 나는 가정)과 그렇게처럼 일 :
Employee* myEmployees[MAX_EMPS];
...
myEmployees[i]->writeData(outputEmployee);
그래서 나는 직원 *의 벡터를 구현하고, 또한 포인터를 포함한다고 가정 해 봅시다 :
MyVector<Employee*> employeePtrList;
을
나는 다음 몇 간접적으로 약간의 단계를하지만 교수 Debry 이것을 클리어 한 수행
Employee* empPtr1 = new HourlyEmployee(EMP1_ID, EMP1_NAME, EMP1_ADDRESS, EMP1_PHONE, EMP1_HOURS, EMP1_WAGE);
2...
3...
4...
employeePtrList.push_back(empPtr1);
2...
3...
4...
그런 다음 나중에 프로그램에서이 행이 나에게 오류주고있다 : 내가 가지고있는
employeePtrList.at(i)->writeData(outputEmployee);
을 여러 가지를 시도해 보았습니다. * (employeePtrList)를 사용하여 재미있게하기 만하면 인텔리 센스 오류가 변경되지만 여전히 동일한 결과가 나타납니다.
C2227 남음> writeData가/struct/union/generi 클래스를 가리켜 야합니다. C 유형
이상형? 내가 왜 잘 모르겠다면 employeePtrLIst가 Employee 포인터라는 것을 이해할 것입니다. 아마도 잘못된 클래스를 찾고있을 것입니다. 아마 MyVector 클래스의 함수를 "가리키는"것이 아닙니다.
감사합니다 정확히 어떻게 MyVector
작품을 모른 채
'employeePtrList.at (i)'는 무엇을 반환합니까? –
이론적으로 묻는다면 Employee 클래스에 대한 포인터를 사용한다고 가정합니다. 실제로는 실행되지 않습니다. 멤버 함수가 존재하는 MyVector 클래스에서 무언가를 반환하도록 폼을 작성하는 방법을 알아야겠습니까? – JimLohse
MyVector는 무엇입니까?> 실제로 .at 함수가있는 벡터입니까? – user632657