Pointers 作为函数参数的Void指针
我使用两种结构来模拟“或”&“和”逻辑门。这些结构是相同的。我需要创建一个函数,作为这两个结构中的一个的参数。比如:Pointers 作为函数参数的Void指针,pointers,c++-cli,void,Pointers,C++ Cli,Void,我使用两种结构来模拟“或”&“和”逻辑门。这些结构是相同的。我需要创建一个函数,作为这两个结构中的一个的参数。比如: int myfunc(void *mystruct, unsigned char param) { switch (param) { case 'o': ... break; //"OR" logic gate struct case 'a': ... break; //"AND" logic gate struct } } 如何在托管代码c++/cli中实现这一想法?您只需
int myfunc(void *mystruct, unsigned char param)
{
switch (param)
{
case 'o': ... break; //"OR" logic gate struct
case 'a': ... break; //"AND" logic gate struct
}
}
如何在托管代码c++/cli中实现这一想法?您只需为两个不同的结构使用一个并集,然后传递该并集:
struct AND_gate {
// ...
};
struct OR_gate {
// ...
};
union gate {
AND_gate and_gate;
OR_gate or_gate;
};
int myfunc(gate * my_gate, unsigned char param)
{
// ...
}
或者,也许更好(由于可用信息有限,很难说),听起来您的设计可能受益于使用继承:
struct gate { // parent class
// ...
};
struct AND_gate: public gate {
// ...
};
struct OR_gate: public gate {
// ...
};
int myfunc(gate * my_gate, unsigned char param)
{
// ...
}
您可能是指如何返回结构。。。在这种情况下,就像这样:
typedef struct
{
...
} YourStruct;
YourStruct *Function(...)
{
return &GlobalStructureForAndGate;
}
请添加更多信息。