
This leads me to this page:
http://msdn.microsoft.com/query/dev10.quer...ORLIST)&rd=true
Compile Error C2259 is from a C++ program but the page calls the abstract class an "interface":
QUOTE
Whenever you derive from an interface and implement the interface methods in the derived class with access permissions other than public, you may receive C2259. This occurs because the compiler expects the interface methods implemented in the derived class to have public access. When you implement the member functions for an interface with more restrictive access permissions, the compiler does not consider them to be implementations for the interface methods defined in the interface, which in turn makes the derived class an abstract class.
There are two possible workarounds for the problem:
Make the access permissions public for the implemented methods.
Use the scope resolution operator for the interface methods implemented in the derived class to qualify the implemented method name with the name of the interface.
The bad news is that I have already made all of the methods public in the class:There are two possible workarounds for the problem:
Make the access permissions public for the implemented methods.
Use the scope resolution operator for the interface methods implemented in the derived class to qualify the implemented method name with the name of the interface.
CODE
class AmbientOccluder: public Light {
public:
AmbientOccluder(void);
Aug 7 2012, 02:18 AM, updated 14y ago
Quote
0.0171sec
0.56
5 queries
GZIP Disabled