Я использую C # DLL в приложении VC ++. У меня есть некоторые детали в VC ++, такие как
PageNumer
pageTitle
PageDesc
BoxDetail
Я должен передать их в C # DLL. Итак, я создал одну структуру в VC ++, а затем передал ее в C #. Но я не мог этого сделать. Пожалуйста, помогите мне.
VC ++ Функция:
struct SCS3OverVwPg
{
__int32 iOvrPgNo;
char sOvrPgTitle[30]; //OverView Page Title
};
void CToolTab::SendOverview()
{
SCS3OverVwPg *pOverVw = 0;
pOverVw = new SCS3OverVwPg;
Globals1::gwtoolbar->SetTree(pOverVw);
}
C # функция:
public struct SCS3Over
{
Int32 iOvrPgNo;
char[] sOvrPgTitle;
}
public void SetTree(SCS3Over x)
{
MessageBox.Show("Data received");
}
Если я так делаю, это показывает ошибку
ошибка C2664: «Tabcontrol :: ToolBar :: SetTree»: невозможно преобразовать параметр 1 из «SCS3OverVwPg *» в «SCS3Over»
Если я изменю имя в C # DLL на SCS3OverwPg
, будет показано error of structure redifinition
. Пожалуйста, помогите мне.