This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
RE: error: redefinition of `class Array<T>'
- From: lrtaylor at micron dot com
- To: <cortes at uiuc dot edu>, <gcc-help at gcc dot gnu dot org>
- Date: Mon, 27 Oct 2003 13:36:10 -0700
- Subject: 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