Hi, I want to initialize a static String array in MC++. What I want to
do is to initialize my String array like the C# way: new String[]
{"11", "22"} but I could not find an equivalent in MC++. The onlu
thing I can do is this: new String*[2] but I cannot specified any
initial values... Did someone have any ideas???
Here is an example of what I want to do:
C#
struct TestingStruct
{
public String a;
public String[] b;
public TestingStruct( String aa, String[] bb )
{
a = aa;
b = bb;
}
};
TestingStruct[] Test1 =
{ new TestingStruct("abc", new String[] {"11", "22"}),
new TestingStruct("def", new String[] {"33", "44"})
};
MC++
__gc struct TestingStruct
{
String* a;
String* b[];
TestingStruct( String* aa, String* bb[] )
{
a = aa;
b = bb;
}
};
static TestingStruct* Test1[] =
{ new TestingStruct("AF", new String*[2]), // This is working but
how can I add initial values???
new TestingStruct("BC", new String*[2]) // This is working but
how can I add initial values???
};
Any help will be appreciated...
Remi
Antti Keskinen - 25 May 2005 05:55 GMT
Hi !
The answer is simple: you can't. Here's an exerpt from the C/C++ Library
Reference on MSDN:'
"Provides a value for the initialized object. Initializers cannot be
specified for arrays. The new operator will create arrays of objects only if
the class has a default constructor."
The code you posted cannot be used in the way you describe. Instead, create
a static function that takes the struct count, the string count and an array
of strings, then initializes the strings by using a for-loop. The function
returns a pointer to the first struct, and through a parameter it returns
the amount of structures actually initialized.
-Antti Keskinen
> Hi, I want to initialize a static String array in MC++. What I want to
> do is to initialize my String array like the C# way: new String[]
[quoted text clipped - 44 lines]
>
> Remi
Tamas Demjen - 25 May 2005 19:15 GMT
> Hi, I want to initialize a static String array in MC++. What I want to
> do is to initialize my String array like the C# way: new String[]
> {"11", "22"} but I could not find an equivalent in MC++. The onlu
> thing I can do is this: new String*[2] but I cannot specified any
> initial values... Did someone have any ideas???
In C++/CLI you can do it now. Of course you have two choices: either use
Beta product, or don't initialize arrays. The VC++ 2003 form designer
can't initialize arrays either, but VC++ 2005 can and does.
Tom