This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: error: redefinition of `class Array<T>'


Paulo,

Do you have #ifndef statements in your array.h header file so that it
only gets included once?  For example, should do something like this in
array.h (in all of your header files, actually):

#ifndef ARRAY_H
#define ARRAY_H

<array.h stuff goes here>

#endif

That way, the preprocessor will only process your header file once per
source file, even if it gets included by more than one other header file
that you're including in your program.

Make sense?

Cheers,
Lyle

-----Original Message-----
From: Paulo Cortes [mailto:cortes@uiuc.edu] 
Sent: Monday, October 27, 2003 4:33 PM
To: gcc-help@gcc.gnu.org
Subject: error: redefinition of `class Array<T>'

Hi

I am building an Array group of classes, I have base Array class with
derived vector, matrix and cube. Each derived class works fine
separately,
but if I combine them in a program I get:

error: redefinition of `class Array<T>'

this happend beacuse when I :

#include <vector.h>
#include <matrix.h>
#include <cube.h>


array.h get included too, so the compiler triggers the error. The 
problem is that I have to include
array.h into the matrix, vector and cube header files in order to use 
the array base class.
Any help would be apprecciated. Many thanks

Paulo


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]