Toon posts:

[C++] vreemde foutmelding

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer een zelfgemaakte cpp file te compileren, maar ik krijg de volgende foutmelding:

C++:
1
SQLite_db.cpp(63) : error C2065: 'AddMem_Sub' : undeclared identifier


Nu heb ik WEL
C++:
1
#include <MyMemory.h>

ingevuld...

Waarin onder andere staat:
C++:
1
void AddMem_Sub ( void * memory_ptr );



Een andere rare fout is:
C++:
1
2
3
4
5
6
7
#include "memory_class.h"

class ...
{
private:
  memory_class   m_Transaction;
}


Hier krijg ik de fout:
sqlite3_db.h(145) : error C2146: syntax error : missing ';' before identifier 'm_Transaction'
sqlite3_db.h(145) : error C2501: 'memory_class' : missing storage-class or type specifiers
sqlite3_db.h(145) : error C2501: 'm_Transaction' : missing storage-class or type specifiers

Dit is enorm raar want ik gebruik deze class ook op andere plaatsen. Dus ik zal zeer waarschijnlijk iets mis doen in de "settings", maar kan er mij iemand helpen hiermee?

Thx!

BTW: Visual Studio 6 SP6 als compilerke op een Win2k systeem

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 09-05 04:30

.oisyn

Moderator Devschuur®

Demotivational Speaker

post de exacte contents van MyMemory.h eens

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
MyMemory wordt hier gedumped :p
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef __MYMEMORY_H
#define __MYMEMORY_H


void FreeMem    ( void const * memory_ptr );
void AddMem_Sub ( void * memory_ptr );
void ClearAllMem( );

template
  <typename T>
T * AddMem( T * memory_ptr )
{
  AddMem_Sub( memory_ptr );

  return memory_ptr;
}


#endif // __MYMEMORY_H

  • Elijan9
  • Registratie: Februari 2004
  • Laatst online: 02-05 13:12
Verwijderd schreef op dinsdag 05 april 2005 @ 14:55:

Een andere rare fout is:
C++:
1
2
3
4
5
6
7
#include "memory_class.h"

class ...
{
private:
  memory_class   m_Transaction;
}


Hier krijg ik de fout:
sqlite3_db.h(145) : error C2146: syntax error : missing ';' before identifier 'm_Transaction'
sqlite3_db.h(145) : error C2501: 'memory_class' : missing storage-class or type specifiers
sqlite3_db.h(145) : error C2501: 'm_Transaction' : missing storage-class or type specifiers

Dit is enorm raar want ik gebruik deze class ook op andere plaatsen. Dus ik zal zeer waarschijnlijk iets mis doen in de "settings", maar kan er mij iemand helpen hiermee?
Aan het einde van een class declaratie moet je overal een ";" hebben staan, Check dit ook in memory_class.h
Dus:
C++:
1
2
3
4
class myClass 
{
...
};

[ Voor 9% gewijzigd door Elijan9 op 05-04-2005 15:19 ]

War is when the young and stupid are tricked by the old and bitter into killing each other. - Niko Bellic


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
__ is "reserved for the implementation" dus je eerste twee karakters zijn al fout ;)

Waarschijnlijker is dat je een eerdere declaratie of definitie niet goed afsluit, waardoor je mymemory.h verkeerd geparsed wordt. (in een namespace bijvoorbeeld)

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Verwijderd

Topicstarter
Elijan: dit is inderdaad het geval, want ik kan deze ook includen in andere cpp's en van deze class gebruik maak. Deze compilen ook zeer goed.

Daarmee ook de topic naam ;) ("vreemd")

Verwijderd

Topicstarter
MSalters:

Dit klopt ja. Nu ik __ heb veranderd lukt dit wel & krijg ik enkel de eerste foutmelding (SQLite_db.cpp(63) : error C2065: 'AddMem_Sub' : undeclared identifier).

Hier zal ik even naar kijken...


En ja!!!! Ook hier weer de "__"!

Met dank voor jullie uitstekende hulp!
Pagina: 1