I have a library provided, which i know uses C++.
I imported the DLL as such:
[DllImport("pst")] private static extern int pst_get_sensor(ref PSTSensor sensor);
The PSTSensor is a struct, in a C++ example it was defined as such:
struct PSTSensor
{
char name[80]; /**< Device name */
int id; /**< Device identifier (for other tracking interfaces */
float pose[16]; /**< Device pose estimate as row-major matrix */
double timestamp; /**< Time the data was recorded */
};
The problem is, that besides an Int and a Double, it uses a Float, and more importantly an array. An array is something way different between C# and C++. When using this struct to call pst_get_sensor(ref sensor); the entire development environment crashes on me when running the code.
I currently do my struct in C# like this:
struct PSTSensor{
public char[] name;
public int id;
public float[] pose;
public double timestamp;
}
My question is, how do i create an array that C++ understands, and properly returns? Is this even possible?
Thanks a lot in advance, Smiley