Solved

Error 2629: unexpected 'class ClassA ('

Posted on 2003-11-13
6
482 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
  • 3
  • 3
6 Comments
 
LVL 4

Expert Comment

by:n_fortynine
Comment Utility
Could you post your "related" code?
0
 

Author Comment

by:wilsonian
Comment Utility
What do you want, ClassA.h?
0
 
LVL 4

Expert Comment

by:n_fortynine
Comment Utility
if that's where the error is...
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:wilsonian
Comment Utility
// 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 60 total points
Comment Utility
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
Comment Utility
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

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Written by John Humphreys C++ Threading and the POSIX Library This article will cover the basic information that you need to know in order to make use of the POSIX threading library available for C and C++ on UNIX and most Linux systems.   [s…
Introduction This article is the first in a series of articles about the C/C++ Visual Studio Express debugger.  It provides a quick start guide in using the debugger. Part 2 focuses on additional topics in breakpoints.  Lastly, Part 3 focuses on th…
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

771 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now