mthread and multiple header files I'm using mthreads (https://github.com/jlamothe/mthread) for my arduino. But now as the project is getting bigger, it would make sense to break it up in several files.

I successfully outsourced already a part which is not threaded. But somehow I cannot make up my mind how to use mthread in conjunction with several header files. 

here is what I got: 

main: call header:

#include "tcan.h"


tcan.h:

#ifndef tcan_h
#define tcan_h

#include "Arduino.h"

class tcan : public Thread {
  public: tcan();
  protected: bool loop();
  private:
};
#endif


tcan.cpp

#include "Arduino.h"
#include "tcan.h"
#include &lt;mcp_can.h&gt;

bool tcan::loop() {
  // lala
  return true;
}


but I get an error when compiling:


  tcan.h:6:28: error: expected class-name before '{' token  class tcan :
  public Thread {


Thanks in advance
The compiler error is due to that the compiler does not know what Thread is.


  tcan.h:6:28: error: expected class-name before '{' token class tcan : public Thread {


The issue is that the header file is not complete. A good practice is to include all header files that are needed to read the header file. As Thread is defined in mthread.h the tcan.h file should be: 

#ifndef tcan_h
#define tcan_h

#include &lt;mthread.h&gt;

class tcan : public Thread {
public: tcan();
protected: bool loop();
private:
};
#endif


Cheers!