0

Well, I'm currently wondering why this piece of C++ code doesn't want to compile :

main.cpp

#include <iostream>
#include "box.h"

int main()
{
    std::cout << "Hello World !" << std::endl;

   Box *bx = new Box(4,8,40,40);
   bx->hello();

   return 0;
}

box.h

#ifndef BOX
#define BOX

class Box
{
    public: 
       Box(int x, int y, int w, int h);
       void hello();

   private:
       int box_x;
       int box_y;
       int box_w;
       int box_h;
};

#endif

box.cpp

#include "box.h"

Box::Box(int x,int y, int w, int h)
{
    box_x = x;
    box_y = y;
    box_w = w;
    box_h = h;
}

void Box::hello()
{
    std::cout << "Hello from C++ !" << std::endl;
}

The compiler keeps saying that :

/tmp/ccXu8pjM.o: In function main': main.cpp:(.text+0x59): undefined reference toBox::Box(int, int, int, int)' main.cpp:(.text+0x69): undefined reference to `Box::hello()' collect2: error: ld returned 1 exit status Compilation failed.

Valenciano
  • 35
  • 5

0 Answers0