Search code examples
visual-studio-2008collision-detection

Compiler error while compiling the RAPID library on VS2008


I've downloaded the RAPID library and tried to compile it on Microsoft Visual Studio 2008. However, I'm getting the following compiler error: C4430 missing type specifier - int assumed. Note: C++ does not support default-int at this code segment (the exact line that produces the error is int flag):

    class RAPID_model
{
public:

  box *b;
  int num_boxes_alloced;

  tri *tris;
  int num_tris;
  int num_tris_alloced;

  int build_state;

  int build_hierarchy();

  friend RAPID_Collide(double R1[3][3], double T1[3], 
         double s1, RAPID_model *RAPID_model1,
         double R2[3][3], double T2[3], 
         double s2, RAPID_model *RAPID_model2,
         int flag);

Can anyone please help me with this?

Thank you


Solution

  • That's simply bad C++ code; the function should be declared as

    friend int RAPID_Collide (..argument list..)
    

    (assuming that the function actually returns an int; you should actually inspect the function and see what value the return statements return.. if there are no return statements, the function should be declared to return void).