Declared in scope

After defining a variable earlier in the code as "card" the code error came back as "'card' was not declared in this scope"

ill upload the little bit of code that matters here....
#include <SD.h>
#include <VoiceShield.h>

#define SdReader card; // This object holds the information for the card
#define FatVolume vol; // This holds the information for the partition on the card
#define FatReader root; // This holds the information for the filesystem on the card
#define FatReader f; // This holds the information for the file we're play
#define VoiceHC wave; // This is the only wave (audio) object, since we will only play one at a time

const int pingPin = 7;

// this handy function will return the number of bytes currently free in RAM, great for debugging!
int freeRam(void)
{
extern int __bss_end;
extern int *__brkval;
int free_memory;
if((int)__brkval == 0) {
free_memory = ((int)&free_memory) - ((int)&__bss_end);
}
else {
free_memory = ((int)&free_memory) - ((int)__brkval);
}
return free_memory;
}

void sdErrorCheck(void)
{
if (!card.errorCode()) return;
putstring("\n\rSD I/O error: ");
Serial.print(card.errorCode(), HEX);
putstring(", ");
Serial.println(card.errorData(), HEX);
while(1);
}

void setup() {
// set up serial port
Serial.begin(9600);
putstring_nl("VoiceHC");

putstring("Free RAM: "); // This can help with debugging, running out of RAM is bad
Serial.println(freeRam()); // if this is under 150 bytes it may spell trouble!

// Set the output pins for the DAC control. This pins are defined in the library
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);

// pin13 LED
pinMode(13, OUTPUT);

// enable pull-up resistors on switch pins (analog inputs)
digitalWrite(14, HIGH);
digitalWrite(15, HIGH);
digitalWrite(16, HIGH);
digitalWrite(17, HIGH);
digitalWrite(18, HIGH);
digitalWrite(19, HIGH);

if (!card.init(true)) { //play with 4 MHz spi if 8MHz isn't working for you
//if (!card.init()) { //play with 8 MHz spi (default faster!)
putstring_nl("Card init. failed!"); // Something went wrong, lets print out why
sdErrorCheck();
while(1); // then 'halt' - do nothing!
}

// enable optimize read - some cards may timeout. Disable if you're having problems
card.partialBlockRead(true);

After defining a variable earlier in the code as "card" the code error came back as "'card' was not declared in this scope"

Here?

#define SdReader card;    // This object holds the information for the card

That does NOT define a variable. What it does is create a name/value pair that will cause the preprocessor to substitute the value everywhere that the name appears in the code.

Lose the #define bit on all those lines.

Symbolic constants are not defined with a semicolon. For example, suppose you have:

#define MAXSPEED  70;    // Max speed on interstate

// ...more code...
if (currentSpeed > MAXSPEED) {
   currentSpeed = MAXSPEED - 20;
}

you'll get an error message: "Expected ')' before ';' token". Because #define preprocessor directives are textual substitutions, if the compiler did allow it, you'd end up with:

#define MAXSPEED  70;    // Max speed on interstate

// ...more code...
if (currentSpeed > 70;) {                // Note dangling semicolon
   currentSpeed = 70; - 20;              // The - 20 subexpression is a problem
}

Because the semicolon is a sequence point to the compiler, telling it that is has read a complete C statement, the resulting statement in the if block is going to be a problem.