-1

I am defining a new interface and a class that implements it. I have added my class(XXX) and interface(IXXX) in idl file (I generated two uuids). My interface has two simple methods. I have implemented them( files XXX.h and XXX.cpp). I included the following line in InprocServer.cpp.

UNKNOWN_OBJECT(XXX) 

I am getting the following error: Error C2259 'XXX': cannot instantiate abstract class (compiling source file InprocServer.cpp) clicking on error takes me to the following line in

Unknown.h
      try
      {
        **p = new T(pUnkOuter);  // refcount is already 1**
        if (!p)
          return E_OUTOFMEMORY;
      } 

How do I know which method is not implemented?

qqqqq
  • 837
  • 12
  • 31
  • 1
    The build log command line output is usually helpful, and often includes a list of useful list of footnotes when an error is encountered (in the Output window with Build selected, not the Error List) – alter_igel Sep 19 '18 at 21:22

1 Answers1

1

Look in the output window (View->Output)rather than the error list and any unimplemented members will be part of the diagnostic.

This works so long as you have the setting in Tools->Options, Projects and Solutions->Build and Run for MSBuild verbosity set to at least 'Minimal', I'm not sure about 'Quiet'.

SoronelHaetir
  • 14,104
  • 1
  • 12
  • 23
  • Also, familiarise yourself with the `override` keyword and use it in your derived class. That will catch any typos. – Paul Sanders Sep 19 '18 at 21:32