The compiler has detected circular parameter usage between classes. This is the case if a class contains a class parameter of the same class, or of a class that in turn contains class parameters of the type of the first class. If the compiler would allow this, it would lead to an infinite list of class parameters that include each other recursively.
This applies to the base class of a class parameter, and also to its default class.
Example:
class A {
default:
B param test ; Error! B has A as a class parameter
endparam
}
class B {
default:
A param test
endparam
}
Fix this error by breaking the chain of circular references. For example, you could introduce a new base class and refer to that instead:
class Base {
}
class A(Base) {
default:
B param test
endparam
}
class B {
default:
Base param test
endparam
}
See Also
Errors