?
Solved

Error 2629: unexpected 'class ClassA ('

Posted on 2003-11-13
6
Medium Priority
?
499 Views
Last Modified: 2011-09-20
Hi there,

Sorry if I explain this badly, I'm not quite sure what is relevant.

I'm getting the error above when I try to compile my project.  The line in question is in ClassA.h and looks something like:

ClassA(ClassB* theParent, type theType);

where type is a typedef inside classA and ClassB is #included above the constructor.

There's another error on the same line:
Error C2238: unexpected token(s) preceding ';'

The error seems to come up while compiling a third class which does not refer to ClassB or ClassA or refer to anything that does.

The problem arose when I moved the typedef from another unrelated class and put it in ClassA.  This typedef is used as a parameter and return type for several functions both inside and outside ClassA (but not in ClassB or either of the other two classes I mentioned)

What's going on?  I'm very confused.

Thank you.
0
Comment
Question by:wilsonian
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
6 Comments
 
LVL 4

Expert Comment

by:n_fortynine
ID: 9745662
Could you post your "related" code?
0
 

Author Comment

by:wilsonian
ID: 9751678
What do you want, ClassA.h?
0
 
LVL 4

Expert Comment

by:n_fortynine
ID: 9751837
if that's where the error is...
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:wilsonian
ID: 9759780
// LengthBar.h: interface for the LengthBar class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_LENGTHBAR_H__F59F85DC_D3DA_4185_A61F_13185405C7D6__INCLUDED_)
#define AFX_LENGTHBAR_H__F59F85DC_D3DA_4185_A61F_13185405C7D6__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Phoneme.h"
#include "EyeSpeakPage.h"

class LengthBar
{
public:
      

      typedef enum unmatched_type {
            VOWEL_LENGTH,
            VOICING,
            L_R_NESS,
            P_F_NESS,
            S_SH_NESS,
            SH_CH_NESS,
            H_F_NESS,
            B_V_NESS,
            V_W_NESS,
            J_Y_NESS,
            WB_H_NESS,
            S_TH_NESS,
            F_TH_NESS,
            T_TH_NESS,
            D_THV_NESS,
            Z_THV_NESS,
            M_N_NESS,
            N_NG_NESS,
            NGK_NG_NESS,
            N_L_NESS
      } unmatched_type;

      LengthBar(EyeSpeakPage* theParent, unmatched_type thePurpose); //ln 44*****

      void drawArrow(CDC* dc, int length, int tooLong);
      unmatched_type getPurpose();
      void setRightEnd(CString end);
      CString getRightEnd();
      void setLeftEnd(CString end);
      CString getLeftEnd();
      int TooLong(int length);
      int ShowLength(CDC *dc, Phoneme* contrast, CString speaker, bool isUser, int placeInPair);
      void Draw(CDC* dc, Phoneme::length length); //isLong == unvoiced

      virtual ~LengthBar();
      
private:
      unmatched_type purpose;
      CString rightEnd;
      CString leftEnd;
      double getRatioX();
      double getRatioY();
      EyeSpeakPage* parent; //ln 64*************************************
      Phoneme::length barLength;
      int LEFT_EDGE;

};

#endif // !defined(AFX_LENGTHBAR_H__F59F85DC_D3DA_4185_A61F_13185405C7D6__INCLUDED_)

I get the following errors when compiling Phoneme.cpp, as well as about a dozen other files not mentioned here:

c:\vpsl\product\c++\eyespeak\gui\lengthbar.h(44) : error C2629: unexpected 'class LengthBar ('
c:\vpsl\product\c++\eyespeak\gui\lengthbar.h(44) : error C2238: unexpected token(s) preceding ';'
c:\vpsl\product\c++\eyespeak\gui\lengthbar.h(64) : error C2143: syntax error : missing ';' before '*'
c:\vpsl\product\c++\eyespeak\gui\lengthbar.h(64) : error C2501: 'EyeSpeakPage' : missing storage-class or type specifiers
c:\vpsl\product\c++\eyespeak\gui\lengthbar.h(64) : error C2501: 'parent' : missing storage-class or type specifiers

0
 
LVL 4

Accepted Solution

by:
n_fortynine earned 240 total points
ID: 9759812
Did you miss a semi-colon at the end when declaring class EyeSpeakPage? Because it's saying it does not recognize EyeSpeakPage as a type?
0
 

Author Comment

by:wilsonian
ID: 9759886
Well, I wasn't declaring class EyeSpeakPage at all.  
But doing so seems to have fixed all the errors.  I'd swear I'd tried that on Friday, oh well.

Thank you very much, I think that was close enough to being the answer!
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

  Included as part of the C++ Standard Template Library (STL) is a collection of generic containers. Each of these containers serves a different purpose and has different pros and cons. It is often difficult to decide which container to use and …
C++ Properties One feature missing from standard C++ that you will find in many other Object Oriented Programming languages is something called a Property (http://www.experts-exchange.com/Programming/Languages/CPP/A_3912-Object-Properties-in-C.ht…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.
Suggested Courses

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question