Sorry for being redundant. I had stared at that for an hour. 20 years of using a language not requiring empty argument lists is making the c++ programming hard.
Thanks for the help. --- In [email protected], "Pedro" <izecks...@...> wrote: > > > > diff widget.h~ widget.h > 8c8 > < myColor backColor(); > --- > > myColor backColor; > > --- In [email protected], "Jimmy Johnson" <boxer41a@> wrote: > > > > I am getting the following errors and I am pulling my hair out. If someone > > could help I would greatly appreciate it. As I don't know where this is > > coming from, I included the files I think are relavant but who knows? Each > > class has a header and a cpp file. > > > > window.cpp(14) : error C2228: left of '.red' must have class/struct/union > > window.cpp(14) : error C2228: left of '.green' must have class/struct/union > > window.cpp(14) : error C2228: left of '.blue' must have class/struct/union > > > > > > ***************** widget.h ************ > > > > #ifndef WIDGET_H > > #define WIDGET_H > > #include "myColor.h" > > > > class widget { > > public: > > widget(); > > myColor backColor(); > > void setBackColor (const myColor a_color); > > bool wasBackColorSet; > > widget *parent; > > // The widet in which Current resides (emmediate parent). > > widget *rootWidget(); > > // The window that is closest to Current up the tree. > > // This is the widget which has the callbacks, and to which > > // positioning and sizing is relative. > > myColor backColorImp; > > // Implementation so `backColor' can be calculated. > > // Really want to use references, not value, here. > > }; > > > > #endif > > > > *************** widget.cpp *********** > > // widget.cpp > > > > myColor widget::backColor() { > > if (wasBackColorSet) { > > return backColorImp; > > } else { > > if (parent == NULL) { > > return defaultBackColor; > > } else { > > return parent.backColor(); > > }; > > }; > > }; > > > > > > ********************** window.h ************ > > #ifndef WINDOW_H > > #define WINDOW_H > > #include "widget.h" > > > > class window : public widget { > > public: > > window(); > > }; > > > > #endif > > > > > > ******************** window.cpp************ > > #include <iostream> > > #include <typeInfo> > > #include <GL\glut.h> > > #include "window.h" > > #include "myColor.h" > > > > using namespace std; > > > > window::window() : widget () { > > // Initialize Current by calling precursor and then set > > // up some openGL states. > > cout << "Call constructor for " << typeid (this).name() << endl; > > // Performs certain window initalizations > > glClearColor (backColor.red, backColor.green, backColor.blue, 0.0); > > glColor3f (foreColor.red, foreColor.green, foreColor.blue); > > glMatrixMode (GL_PROJECTION); // set "camera shape" > > glLoadIdentity (); // clearing the viewing matrix > > }; > > > > > > > > **************************** myColor.h **************** > > #ifndef MY_COLOR_H > > #define MY_COLOR_H > > > > class myColor { > > public: > > myColor(); > > myColor (float aRed, float aGreen, float aBlue); > > float red; > > float green; > > float blue; > > void set (float aRed, float aGreen, float aBlue); > > }; > > > > static myColor White (1.0, 1.0, 1.0); > > static myColor Black (0.0, 0.0, 0.0); > > static myColor Red (1.0, 0.0, 0.0); > > static myColor Green (0.0, 1.0, 0.0); > > static myColor Blue (0.0, 0.0, 1.0); > > > > #endif > > > > > > *********************** myColor.cpp *************** > > #include "myColor.h" > > > > myColor::myColor () { > > // Default color is white > > set (0.0, 0.0, 0.0); > > }; > > >
