Problems getting started

I started this out as a struct, but had some memory problems, so I went to creating a library.

I am keeping this a simple as possible until I find the problems.

In the following code, I am unable to compile with the following errors:

Mash.cpp:6: error: new types may not be defined in a return type
Mash.cpp:6: note: (perhaps a semicolon is missing after the definition of 'MashS
tep')
Mash.cpp:6: error: return type specification for constructor invalid
In file included from v:/arduino-0012-win/arduino-0012/hardware/tools/avr/lib/gc
c/../../avr/include/stdlib.h:47,

from V:\arduino-0012-win\arduino-0012\hardware\cores\arduino/WP
rogram.h:4,

v:\arduino-0012-win\arduino-0012\hardware\tools\avr\bin../lib/gcc/avr/4.3.0/inc
lude/stddef.h:214: error: two or more data types in declaration of 'size_t'

In file included from V:\arduino-0012-win\arduino-0012\hardware\cores\arduino/WP
rogram.h:4,

Here is the code. This is too simple to have these problems:
MashStep.h

#ifndef MashStep_h
#define MashStep_h

#include "WConstants.h"

class MashStep 
{
public:
            MashStep();
private:

}
#endif

MashStep.cpp

//#include "WProgram.h"

#include "MashStep.h"


MashStep::MashStep(){}

sketch :

#include <MashStep.h>
void setup() { }
void loop() { }

Any ideas ? This is my first voyage into Arduino programming.

Ah! The problem is that your class declaration doesn't have the required trailing semicolon.

Once that's fixed, the #inclusion of WConstants.h triggers a problem in the Arduino source processing system. If you change your library header to

#ifndef MashStep_h
#define MashStep_h

#include "WConstants.h"

#undef int
#undef float
#undef abs
#undef round

class MashStep
{
public:
            MashStep();
private:

};
#endif

you should compile fine.

Mikal