클래스 내부에서 선언 된 구조체에 대한 포인터를 반환하는 코드에 문제가 있습니다.구조체에 포인터를 반환하는 함수
#ifndef SORTEDLIST_H
#define SORTEDLIST_H
class SortedList{
public:
SortedList();
...
private:
struct Listnode {
Student *student;
Listnode *next;
};
static Listnode *copyList (Listnode *L);
};
#endif
SortedList.cpp이
#include "SortedList.h"
...
// Here is where the problem lies
Listnode SortedList::*copyList(Listnode *L)
{
return 0; // for NULL
}
분명히, 복사 목록 방법은 늘 컴파일
SortedList.h : 여기에 지금까지 내 코드입니다. Microsoft Visual Studio를 사용하고 있는데 컴파일러에서 "Listnode"가 알 수 없다고 알려줍니다.
1>------ Build started: Project: Program3, Configuration: Debug Win32 ------
1> SortedList.cpp
sortedlist.cpp (159) : 오류 C2657은 : 'SortedList는 :: *'문장의 시작 부분에서 발견 (당신은 유형을 지정하는 것을 잊지 않았다 내가 컴파일 할 때, 여기에 내가 얻을 whhat입니다 ?)
sortedlist.cpp (159) : 오류 C4430 : 누락 된 형식 지정자 - int가 있다고 가정합니다. 참고 : C++은 기본적 INT
sortedlist.cpp를 지원하지 않는 (159) : 오류 C2065 : 'L': 선언되지 않은 식별자
sortedlist.cpp (159) : 오류 C4430 : 누락 형태 지정자 - int로 가정한다. 참고 : C++은 default-int를 지원하지 않습니다.
sortedlist.cpp (159) : 치명적인 오류 C1903 : 이전 오류에서 복구 할 수 없습니다.
SortedList::Listnode* SortedList::copyList(ListNode* L)
{
return 0; //For NULL
}
또한, struct Listnode
선언해야 하나 public
: 컴파일을 중지
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
... 빨리
cpp가 파일 내부
게시물에 사용해야하는 형식은 Markdown입니다. http://daringfireball.net/projects/markdown/basics – jogojapan