如何将结构传递给另一类定义的C 功能
How to pass the structure to a function in C++ defined in another class?
我有一个类con: -
class Con
{
public:
struct MachineList
{
BSTR AccountId;
BSTR MachineId;
BSTR Make;
char* Make1;
BSTR Model;
char* Model1;
BSTR SerialNumber;
BSTR IpAddress;
char* IpAddress1;
BSTR Port;
int Port1;
BSTR LocationCode;
} machinelist[100] ;
int w;
} ;
我创建了一个Con
类的对象为Con m_con;
我有另一个类Test
class Test
{
public:
void fun();//i want to pass the object of the structure that i created in Con
//what arguments should i pass in fun function?
};
您是否要通过整个machinelist
数组?
void fun(const Con::MachineList (&argument)[100] );
,但是更容易的是打字:
class Con {
public:
struct MachineList{ ... };
typedef MachineList (Machines)[100];
Machines machines;
};
并使用
void fun(const Con::Machines& m);
被称为:
Con c;
fun( c.machines );
class Con {
public:
struct Machine {
BSTR AccountId;
BSTR MachineId;
BSTR Make;
char* Make1;
BSTR Model;
char* Model1;
BSTR SerialNumber;
BSTR IpAddress;
char* IpAddress1;
BSTR Port;
int Port1;
BSTR LocationCode;
};
typedef Machine Machines[100];
Machines machines;
int w;
};
/**
* passing a reference to a single machine, which fun might change
*/
void fun0( Con::Machine & machine );
/**
* passing a reference to a single machine, which fun cannot change
*/
void fun1( const Con::Machine & machine );
/**
* passing a reference to the entire array of machines, which fun may change
*/
void fun2( Con::Machines & machines );
/**
* passing a reference to the entire array of machines, which fun cannot change
*/
void fun3( const Con::Machines & machines );
我不明白您想要哪种版本的乐趣,所以我制作了四个...
class Test
{
public:
void fun(Con::MachineList);
};
Test t;
Con c;
t.fun(c.machinelist[0]);
当前的con :: Machinlist类型看起来不适合复制,因此您应该定义适当的构造函数和评估操作员,或者应通过将fun
称为void fun(Con::MachineList const &);
而不是如上我所显示的。
也可能需要适当的破坏者...
相关文章:
- 在提升multi_index容器中,是否定义了"default index"?
- #定义c-预处理器常量..我做错了什么
- 用C++中的一个变量定义一个常量
- 部分定义/别名模板模板参数
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- #为""定义宏;静态";针对不同的上下文
- 如何确保C++函数在定义之前声明(如override关键字)
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 为什么在多个.cpp文件中定义的同一类不会导致链接器多个定义错误?
- 为什么一个非平凡的成员需要为同一类中的匿名联合定义构造函数
- 在同一类的其他成员函数的定义中调用类成员函数
- 如何将结构传递给另一类定义的C 功能
- C++中同一类的不同定义 - 处理多个目标
- 私有结构(在类中定义)不能用作属于同一类的函数的返回类型吗
- 在同一类中定义的这两个函数如何在没有前向声明的情况下相互调用
- 为什么我不能在类定义中实例化同一类的对象
- C++:如何在同一类的不同函数中定义元素
- 在类定义中初始化同一类的对象时出错- c++
- 为什么不允许在同一类中定义类对象
- 链接错误:同一类中的未定义引用