• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 508
  • Last Modified:

Error 2629: unexpected 'class ClassA ('

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
wilsonian
Asked:
wilsonian
  • 3
  • 3
1 Solution
 
n_fortynineCommented:
Could you post your "related" code?
0
 
wilsonianAuthor Commented:
What do you want, ClassA.h?
0
 
n_fortynineCommented:
if that's where the error is...
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
wilsonianAuthor Commented:
// 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
 
n_fortynineCommented:
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
 
wilsonianAuthor Commented:
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

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now