Hello Sam,
It looks that this is not a STL/CINT problem, but a storage
problem. In terms of CINT and STL, both script works as
expected, I think. Only difference is that 'vector<int> myv'
is in global scope or local scope. Will you try having myv in
the global scope? I could not run this script due to some other
reason and could not try this.
Thank you
Masaharu Goto
#include <vector>
vector<int> myv;
test() {
// vector<int> myv;
for(int i=0; i<100; i++) {
myv.push_back(i);
}
TGraph myg( myv.size() , (int*) &(myv[0]) , (int*) &(myv[0]) );
myg.Draw("A*");
}
----- Original Message -----
From: "Philippe Canal" <pcanal@fnal.gov>
To: "Cint" <cint@pcroot.cern.ch>
Sent: Thursday, August 29, 2002 3:37 AM
Subject: [CINT] FW: [ROOT] ROOT and STL
>
>
> -----Original Message-----
> From: owner-roottalk@pcroot.cern.ch
> [mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Sam Waldman
> Sent: Wednesday, August 28, 2002 12:35 PM
> To: roottalk@pcroot.cern.ch
> Subject: [ROOT] ROOT and STL
>
>
>
> Hi folks,
>
> I realize STL and CINT aren't necessarily supposed to play nice
> together, but I have managed to get it to work, sort of. This script
> works:
>
> /******* Working Script -- test.c ***********/
> {
>
> #include <vector>
> vector<int> myv;
>
> for(int i=0; i<100; i++) {
> myv.push_back(i);
> }
>
> TGraph myg( myv.size() , (int*) &(myv[0]) , (int*) &(myv[0]) );
> myg.Draw("A*");
>
> }
>
> // end of script
>
> And this script doesn't work:
>
> /******** Broken Script -- test.c **************/
>
> #include <vector>
>
> test() {
>
> vector<int> myv;
>
> for(int i=0; i<100; i++) {
> myv.push_back(i);
> }
>
> TGraph myg( myv.size() , (int*) &(myv[0]) , (int*) &(myv[0]) );
> myg.Draw("A*");
>
> }
>
> // end of script
>
> This script does a variety of bad things.
> Aside from the general fact that this isn't the prettiest code
> ever seen, and STL and CINT don't work together, is there something I am
> doing wrong?
>
> Thanks for the help,
>
> sam
>
>
>
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:06 MET