The error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ <class name>

Please support our C advertiser: Programming Forums - DaniWeb Sister Site
Thread Solved

Join Date: Nov 2007
Posts: 28
Reputation: Cleo123 is an unknown quantity at this point 
Solved Threads: 0
Cleo123 Cleo123 is offline Offline
Light Poster

The error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ <class name>

 
0
  #1
Jul 24th, 2009
Hi everyone, I'm new to C and have been given a C program to complete but found it includes many versions of the titled error for each class file.

Can anyone please explain why it occurs and how I could get rid of them?

Thanks,
Cleo

  1.  
  2. q2.c:5: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘spellChecker’

Example of a class:

  1. class spellChecker {
  2. protected:
  3. struct wordRecord* wordList;
  4.  
  5. public:
  6. spellChecker() {
  7. wordList=NULL;
  8. }
  9.  
  10. };
Reply With Quote Quick reply to this message  
Join Date: Jun 2009
Posts: 139
Reputation: Dream2code is an unknown quantity at this point 
Solved Threads: 11
Dream2code's Avatar
Dream2code Dream2code is offline Offline
Junior Poster

Re: The error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ <class name>

 
0
  #2
Jul 24th, 2009
its actually not a C program.Your program is in C++.Anyways
Which compiler you are using?
post a stand alone code so that we cant check the error!!
Reply With Quote Quick reply to this message  
Join Date: Nov 2007
Posts: 28
Reputation: Cleo123 is an unknown quantity at this point 
Solved Threads: 0
Cleo123 Cleo123 is offline Offline
Light Poster

Re: The error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ <class name>

 
0
  #3
Jul 24th, 2009
Originally Posted by Dream2code View Post
its actually not a C program.Your program is in C++.Anyways
Which compiler you are using?
post a stand alone code so that we cant check the error!!
Okay, thanks for that, that was a stupid mistake, lol, I have not really got any experience with C++. I'm compiling it from the terminal window with g++ instead now.

If you don't mind, I have a new question with a new error.

I have a few of these:
error: ‘wordPointer’ was not declared in this scope
error: ‘malloc’ was not declared in this scope

so I passed wordPointer as a parameter (char* wordPointer)
but then found this brought me further errors for each variable I've defined within a structure or the class.

How do I allow these variables to be used publicly?

bool caseInsensitivelyEqual(char* s1, char* s2) {
	int i=0;
	bool same=true;
	while (s1[i] && s2[i] && same) {
	    same=(tolower(s1[i])==tolower(s2[i]));
	    i++;
	}
	  if (s1[i] || s2[i]) same=false;
	  return same;
	}
  
 Here are the variables I am using in my print method.
	struct wordRecord {
	  char* word;
	  struct wordRecord* next;
	};
class spellChecker { protected: struct wordRecord* wordList; public: spellChecker() { wordList=NULL; } };

and the other 2 variables I am using for my print method are within
my case sensitive spellChecker class

struct wordRecord *root;
	struct wordRecord *wordPointer;	
	root = malloc(sizeof( struct wordRecord)); 
	root -> next = 0; 
	root -> word = dest; 
	wordPointer = root;

print method: I have passed them as parameters below:

  1.  
  2. void printDict(char* wordPointer, char* root, char* word, char* next) {
  3. //Step through dictionary, printing each word
  4. wordPointer -> root;
  5. while(wordPointer != NULL) {
  6. printf("%s\n", wordPointer -> word);
  7. wordPointer = wordPointer -> next;
  8. }
  9. }

And the further errors I received:

error: request for member ‘root’ in ‘* wordPointer’, which is of non-class type ‘char’
error: request for member ‘word’ in ‘* wordPointer’, which is of non-class type ‘char’
error: request for member ‘next’ in ‘* wordPointer’, which is of non-class type ‘char’
Reply With Quote Quick reply to this message  
Join Date: Jun 2009
Posts: 1
Reputation: Leo71 is an unknown quantity at this point 
Solved Threads: 1
Leo71 Leo71 is offline Offline
Newbie Poster

Re: The error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ <class name>

 
0
  #4
Jul 24th, 2009
Hi there,

I think you have mistaked the pointer you should receive a wordRecord* and not a char* in the void printDict(char* wordPointer, char* root, char* word, char* next) in order you can use the word and next members in this way wordPointer -> word.
Reply With Quote Quick reply to this message  
Reply

This thread has been marked solved.
Perhaps start a new thread instead?
Message:




Views: 956 | Replies: 3
Thread Tools Search this Thread



Tag cloud for C
About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC