The compiler has detected circular parameter usage between classes. This is the case if a class contains a plug-in parameter of the same class, or of a class that in turn contains plug-in parameters of the type of the first class. If the compiler would allow this, it would lead to an infinite list of plug-in parameters that include each other recursively.
This applies to the base class of a plug-in parameter, and also to its default plug-in.
Example:
class A {
default:
B param test ; Error! B has A as a plug-in 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