Error with code example for Parallax robot: "expected initializer before 'void'"

My son and I are learning how to program an Arduino to build to Parallax robot. We're following the tutorial here: http://learn.parallax.com/node/148 . I think we are doing precisely what they suggest, but we keep getting these errors:

StoreRetrieveGlobal:2: error: expected initializer before 'void' StoreRetrieveGlobal:8: error: expected initializer before 'void' StoreRetrieveGlobal.cpp: In function 'void loop()': StoreRetrieveGlobal:21: error: 'root2' was not declared in this scope

This is the code:

// Robotics with BOE Shield - StoreRetrieveGlobal

int a;
char c;
float root2

void setup()
{
  Serial.begin(9600);
  
  a = 42;
  c = 'm';
  root2 = sqrt(2.0);
}

void loop ()
{
  Serial.println(a);
  Serial.println(c);
  Serial.println(root2);
  delay(2000);
}

Any idea what we're doing wrong? Also, is there a quick reference somewhere for errors so I can try and debug myself?

Missing semicolon after root2

Precisely. Thanks!

Often, error messages are a bit obscure, or indirect. Here, the biggest clue is the "not declared in this scope" message, suggesting that something around the declaration of "root2" is incorrect, because at first glance "root2" should be in scope everywhere.