Is there any archive place for roottalk ?
I've lost the last answer for a message about templates
with rootcint and I get the following error:
cxx -w -g -I/virgoApp/Fr/v2.30/src -I/virgoa1_3/xavier/root/include
-I../src  -c ../src/MyCanvasDict.cxx -o ../obj/MyCanvasDict.o
cxx: Error: ../src/MyCanvasDict.cxx, line 471: In this statement, the
argument list "R__b>>ListText" matches no "operator >>".
      R__b >> ListText;
------^
cxx: Error: ../src/MyCanvasDict.cxx, line 475: In this statement, the
argument list "R__b<<ListText" matches no "operator <<".
      R__b << ListText;
MyCanvasDict.cxx is created by:
rootcint MyCanvasDict.cxx -c MyCanvas.h
Here follow the code of
MyCanvas.h
#ifndef __MyCanvas__
#define __MyCanvas__
//////////////////////////////////////////////////////////////////////////
//                                                                     
//
// MyCanvas                                                            
//
//                                                                     
//
//                                                                     
//
//                                                                     
//
//////////////////////////////////////////////////////////////////////////
#include "TCanvas.h"
#include "MyText.h"
#include "List.h"
class MyCanvas : public TCanvas{
private:
 List<MyText> *ListText;
public:
 ~MyCanvas();
 MyCanvas();
 ClassDef(MyCanvas,1) // MyCanvas structure
};
#endif
*****************************
MyText.h
#ifndef __MyText__
#define __MyText__
//////////////////////////////////////////////////////////////////////////
//                                                                     
//
// MyText                                                              
//
//                                                                     
//
// Sensible Text                                                       
//
//                                                                     
//
//////////////////////////////////////////////////////////////////////////
#include "TText.h"
class MyText : public TText {
private:
 double val;
public:
 ~MyText();
 MyText();
 MyText(Coord_t x,Coord_t y,const Text_t *text,double valr=0);
 virtual void Action(); // *MENU*
 virtual void SetVal(double valr) {val=valr;} // *MENU*
 ClassDef(MyText,1) //MyText structure
};
#endif
**********************
List.h
#ifndef __List__
#define __List__
//////////////////////////////////////////////////////////////////////////
//                                                                     
//
// List                                                                
//
//                                                                     
//
//                                                                     
//
//                                                                     
//
//////////////////////////////////////////////////////////////////////////
#include "MyMaths.h"
template<class Item>
class enhancedItem{
private:
 Item item;
 enhancedItem *next;
 enhancedItem *previous;
public:
 ~enhancedItem();
 enhancedItem(const Item&t,enhancedItem<Item> *prev):item(t)
 {next=NULL;previous=prev;}
};
template<class Item>
class List{
private:
 enhancedItem<Item> *first;
 enhancedItem<Item> *last;
 enhancedItem<Item> *current;
public:
 ~List();
 List(){first=NULL;last=NULL;current=NULL;}
 Reset(){current=first;}
 Plus(){if (current != NULL) current=current->next;}
 enhancedItem<Item> *Current(){return current;}
 Add(Item &t);
 Remove(enhancedItem<Item> *t);
 Boolean is_at_end(){return current==NULL ? true : false;}
};
#endif
Thanks for all possible idea.
-- xavier@virgoa4.in2p3.fr De chacun selon ses forces, a chacun selon ses besoins. Au fait, tous mes propos n'engagent que moi et aucunement l'in2p3 ni le CNRS d'ailleurs.