다음과 같이 '구성'을 사용하여 클래스를 작성하고 있습니다.
class fibonacci
{
private:
FibonacciDynamic dy();
FibonacciRecursive re();
FibonacciSequential se();
int count;
public:
fibonacci(int a):count(a){};
void disp();
};
void fibonacci::disp()
{
if(count < 20)
{
se.fib();
}
else if(count < 50)
{
re.fib();
}
else
{
dy.display();
}
}
여기서 FibonacciDynamic
, FibonacciRecursive
및 FibonacciSequential
헤더 파일에 선언 된 클래스입니다. 자, 여기서 주요 문제는 se.fib()
, re.fib
& dy.fib()
기능 을 사용하는 동안 오류가 발생한다는 것입니다.
error C2228: left of '.fib' must have class/struct/union
위의 오류없이 구성 접근 방식을 사용하는 다른 방법이 있습니까?
그렇지 않다면 친구 클래스로 사용하고 클래스의 멤버 함수에서 멤버 함수에 액세스 할 수 fibonacci
있습니까?
감사.
FibonacciDynamic dy (); 메서드 FibonacciDynamic fibonacci :: dy ();의 선언입니다.
데이터 멤버 선언을하려면 괄호를 제거해야합니다.
...
FibonacciDynamic dy;
...
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다