Boost logo

Boost Users :

From: Kurata Sayuri (magicalsayuri_at_[hidden])
Date: 2008-05-27 20:18:22


On Wed, May 28, 2008 at 12:19 AM, Fox Fossati <stonfofish_at_[hidden]> wrote:
> Excuse me,
> I' m reading a DataGridView with VisualC++2008 with nested loops....
> .....
> Object^ val=dataGridView1[x,y]->Value; //Object is a Visual class
> .....
> I convert every value in a System::String variable:
> String^ str=val->ToString();
>
> Then I'have to insert this data in a container (for example) this:
> vector<boost::any>* vec=new vector<boost::any>(n) ;
> //0<=x<n
> (*vec)[x]=str; //ERROR!
> (*vec)[x]=*str; //ERROR!
>
> Is there another method to transfer a value from a dataGridView to an STL
> container?
> Now i wrote only a vector to explain simply but in fact i will use a table
> of this type vector<vector<boost:.any>*>.

Your code is C++/CLI. So, you can use System::Object instead of boost::any.
And also, cliext::vector instead of std::vector. Because native class
(such as boost::any,
std::vector) can't have managed instance.

----
#include <cliext/vector>
Object^ val = dataGridView1[x,y]->Value;
String^ str = val->ToString();
cliext::vector<Object^>^ vec = gcnew cliext::vector<Object^>(n) ;
// or cliext::vector<String^>
(*vec)[x]=str;

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net