title: "Expression must have class type" error
body: <p>I am working on my little touchscreen code for an embedded microcontroller. I had my code working using functions. But now I want to make it into a class. I get an error: </p>
  
  <blockquote>
    <p>expression must have class type.</p>
  </blockquote>
  
  <p>And I don't know what the problem is. I googled my problem and no clear solution was found. Here's my code:</p>
  
  <p>main.cpp</p>
  
  <pre><code>#include "screen.h"
  #include "mbed.h"
  #include "stdio.h"
  
  screen test();
  
      int main(void)
      {
  
          while (1)
          {
          test.button(50,70,100,50,"button1"); // line where the compiler sees an error
          }  
      }
  </code></pre>
  
  <p>screen.h</p>
  
  <pre><code>class screen{
  
  public:
  
          screen();
  
          void init();
          void button(int, int, int, int, string);
  
  private:
          int runningstatus; // 0 = stopped // 1 = failure // 2 = running
          point p;
  
  
  };
  </code></pre>
  
  <p>screen.cpp</p>
  
  <pre><code>#include "screen.h"
  
  touch_tft TFT(p20,p18,p17,p16,p5, p6, p7, p8, p15,"TFT"); // x+,x-,y+,y-,mosi, miso, sclk, cs, reset
  
  
  screen::screen(){
  
  
  }
  
  void screen::init()
  {
          TFT.claim(stdout);          // send stdout to the TFT display 
      TFT.background(Black);    // set background to black
      TFT.foreground(White);    // set chars to white
      TFT.cls();                // clear the screen
      TFT.set_orientation(3);
      TFT.set_font((unsigned char*) Arial24x23);
          TFT.locate(60, 100);
  }
  
  void screen::button(int x0, int y0, int length, int height, string caption)
  {
          TFT.rect(x0     ,y0     ,x0+length      ,y0+height,     LightGrey);
          TFT.rect(x0-1   ,y0-1   ,x0+length+1    ,y0+height+1, LightGrey);
          TFT.fillrect(x0-2,y0-2 ,x0+length-1 ,y0+height-1, Navy);
  
          TFT.locate(x0+10, y0+10);
  
          TFT.background(Navy);   
          TFT.printf("%s", caption);
  }
  </code></pre>
  
  <p>Can someone tell me what the problem with this code is. Its driving me totaly nuts!</p>