Go Down

Topic: How do I debug a new class in arduino IDE (Read 397 times) previous topic - next topic


Feb 10, 2012, 02:21 am Last Edit: Feb 10, 2012, 02:38 am by Coding Badly Reason: 1
I've decided that I want to create some classes to make my life easier. The first one that I wanted to create was  a "Line". I get an error message and want to figure out how i can debug this?, this is my code:

Code: [Select]
#include <Line.h>

Line line();

void setup() {
 // put your setup code here, to run once:
 line.set(1, 2, 3, 4);

void loop() {
 // put your main code here, to run repeatedly:

This is my error message:
ColourSphereCode.cpp: In function 'void setup()':
ColourSphereCode:6: error: request for member 'set' in 'line', which is of non-class type 'Line ()()'
ColourSphereCode.cpp: In function 'void loop()':
ColourSphereCode:11: error: request for member 'm' in 'line', which is of non-class type 'Line ()()'

And this is my Line.h:
#ifndef Line_h
#define Line_h

#include "Arduino.h"

class Line
   void set(double x1,double  y1,double  x2,double y2);
 double m();
 double c();
 double _x1;
 double _y1;
 double _x2;
 double _y2;


and this is my Line.cpp:

#include "Arduino.h"
#include "Line.h"


// define the two end points of the line
void Line::set(double x1, double y1, double x2, double y2)
 _x1 = x1;
 _y1 = y1;
 _x2 = x2;
 _y2 = y2;

// return the slope of the line
double m()
 return 1.1;

// return the offset of the line
double c()
 return 2.3;

so it would be great if someone can see where I'm going wrong but it would be even better if there is an 'easy" way that I can learn how to debug these errors and work with developing classes. The morse example looks  a little thin on the ground for this, but maybe there is another place that I can look?

Moderator edit: [code] [/code] tags added.


Code: [Select]
Line line();

This declares a function, taking no arguments, called "line," returning a Line.
You want to declare a global variable initialized by the default (no-argument) constructor:

Code: [Select]
Line line;

And, yes, I've done C++ since version 1 (25 years ago? something like that) and this *still* bites me once in a while...

Go Up