Avatar billede balstrup Nybegynder
04. marts 2004 - 10:39 Der er 7 kommentarer og
1 løsning

Vil ikke compileres - MFC

Hej

Jeg er ved at lave et lille program og det vil bare ikke compileres.
Jeg får følgende fejl:

Compiling...
Buffer.cpp
C:\Documents and Settings\bal\Desktop\testbuf\ChildView.h(30) : error C2143: syntax error : missing ';' before '*'
C:\Documents and Settings\bal\Desktop\testbuf\ChildView.h(30) : error C2501: 'CBuffer' : missing storage-class or type specifiers
C:\Documents and Settings\bal\Desktop\testbuf\ChildView.h(30) : error C2501: 'm_pBuf' : missing storage-class or type specifiers
C:\Documents and Settings\bal\Desktop\testbuf\Buffer.cpp(37) : error C2065: 'm_pView' : undeclared identifier
C:\Documents and Settings\bal\Desktop\testbuf\Buffer.cpp(37) : error C2227: left of '->UpdateView' must point to class/struct/union
ChildView.cpp
C:\Documents and Settings\bal\Desktop\testbuf\Buffer.h(30) : error C2629: unexpected 'class CBuffer ('
C:\Documents and Settings\bal\Desktop\testbuf\Buffer.h(30) : error C2238: unexpected token(s) preceding ';'
C:\Documents and Settings\bal\Desktop\testbuf\ChildView.cpp(87) : error C2660: 'CBuffer::CBuffer' : function does not take 1 parameters
MainFrm.cpp
C:\Documents and Settings\bal\Desktop\testbuf\Buffer.h(30) : error C2629: unexpected 'class CBuffer ('
C:\Documents and Settings\bal\Desktop\testbuf\Buffer.h(30) : error C2238: unexpected token(s) preceding ';'
testbuf.cpp
C:\Documents and Settings\bal\Desktop\testbuf\Buffer.h(30) : error C2629: unexpected 'class CBuffer ('
C:\Documents and Settings\bal\Desktop\testbuf\Buffer.h(30) : error C2238: unexpected token(s) preceding ';'
Generating Code...
Error executing cl.exe.



Jeg har inkluderet alle de nødvendige h-filer, men det er som om den nægter at se dem.
Er der nogen der har en god ide eller en løsning????

-Balstrup
Avatar billede jpk Nybegynder
04. marts 2004 - 10:42 #1
Har du tilføjet alle filerne til projektet?
Avatar billede balstrup Nybegynder
04. marts 2004 - 10:48 #2
Jeps! De er alle tilføjet.
Jeg har også kunne kompilere det undervejs når jeg har skulle teste småting, men nu vil den ikke mere.
Jeg ved ikke rigtig om det er fordi den CChildView inkluderer CBuffer som derefter nikluderer CChildView. Det kunne måske godt give nogle problemer.....!?!!?
Avatar billede jpk Nybegynder
04. marts 2004 - 10:57 #3
Prøv at poste indholdet af de 2 headerfiler (CBuffer og CChildView)
Avatar billede balstrup Nybegynder
04. marts 2004 - 11:00 #4
// Buffer.h: interface for the CBuffer class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_BUFFER_H__0758BA0B_EF98_4D45_8EF3_DC2911A38F77__INCLUDED_)
#define AFX_BUFFER_H__0758BA0B_EF98_4D45_8EF3_DC2911A38F77__INCLUDED_

#include "ChildView.h"
#include "message.h"

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




class CBuffer 
{
public:
   
    CChildView* m_pView;
    void GetMessage(bool&, CTime&, unsigned char&);
    void ClearBuffer();
    void SetMessage(CMessage&);
    CStringArray m_strHeader;
    unsigned int m_nCounter;
    CArray<CMessage, CMessage&> m_cMessageArray;
   

    CBuffer();
   
    virtual ~CBuffer();

};

#endif // !defined(AFX_BUFFER_H__0758BA0B_EF98_4D45_8EF3_DC2911A38F77__INCLUDED_)



// ChildView.h : interface of the CChildView class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_CHILDVIEW_H__21B5B1A1_D0C9_4D4F_8B89_98295CAAC715__INCLUDED_)
#define AFX_CHILDVIEW_H__21B5B1A1_D0C9_4D4F_8B89_98295CAAC715__INCLUDED_

#include "Buffer.h"

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



/////////////////////////////////////////////////////////////////////////////
// CChildView window


class CChildView : public CWnd
{
// Construction
public:
    CChildView();
   

// Attributes
public:
    CListCtrl* plist;
    CBuffer* m_pBuf;

// Operations
public:

// Overrides
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CChildView)
    protected:
    virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
    //}}AFX_VIRTUAL

// Implementation
public:
    void UpdateView();
    virtual ~CChildView();

    // Generated message map functions
protected:
    //{{AFX_MSG(CChildView)
    afx_msg void OnPaint();
    afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
private:
   
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_CHILDVIEW_H__21B5B1A1_D0C9_4D4F_8B89_98295CAAC715__INCLUDED_)


De er begge lavet med ClassWizard
Avatar billede balstrup Nybegynder
04. marts 2004 - 11:01 #5
Det skal lige siges at jeg benytter Embedded Visual C++, men at det fungerer stort set som VSC++ 6.0
Avatar billede jpk Nybegynder
04. marts 2004 - 11:04 #6
Prøv at indsætte linien:

class CChildView;

i filen Buffer.h, umiddelbart før definitionen af CBuffer
Avatar billede balstrup Nybegynder
04. marts 2004 - 11:09 #7
Tak!
Det virkede!
Nu er der så godt nok nogle andre fejl, men det er bare noget med unresolved externals et andet sted i koden.
HVis du kommer med et svar kan du få dine velfortjente point;o)
Avatar billede jpk Nybegynder
04. marts 2004 - 11:14 #8
Mange tak...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester