将变量NAME传递给函数
|
语言:Visual C ++,MFC
环境:Visual Studio 2005
因此,我发布了一个类似的问题,但是我意识到我在问一个错误的问题。我正在尝试使用循环在几个不同的变量上调用函数,但是在此过程中某个地方,程序崩溃了。
下面是简化的代码,但是我认为解释起来实际上更容易。我有一个函数,将CString作为参数。我有几个变量希望提供给该函数,因此我将它们的名称放入数组中,并且试图将它们以这种方式传递给该函数。
//下面的代码就是我所拥有的,但是却不起作用//
头文件:
CString m_strTop;
CString m_strLeft;
CString m_strRight;
CString m_strBottom;
CString *var[4];
源文件:
构造函数()
CString *var[4] = {
&m_strTop
, &m_strLeft
, &m_strRight
, &m_strBottom
};
源文件:
功能()
void myClass::DoDataExchange(CDataExchange* pDX)
{
CSAPrefsSubDlg::DoDataExchange(pDX);
for(int i = 2001, j = 0; i <= 2004; i++, j++)
{
// THE LINE BELOW IS WHERE THINGS GO WONKY, SPECIFICALLY AT &var[j]
DDX_Text(pDX, i, *var[j]); // \'i\' is the ID of the textbox
}
}
-DDX_Text期望什么-
void AFXAPI DDX_Text(
CDataExchange* pDX,
int nIDC,
CString& value
);
因此,就像我说的那样,我只需要向函数提供变量的实际名称即可。至少我认为。它的实际作用是在对话框中的文本框和将存储文本框输入的变量之间建立连接。我正在正确地引用所有内容,但是我认为这不是正确的方法。
感谢您的任何帮助。对于回答了我上一个问题的人,我很抱歉表达了这个问题。
没有找到相关结果
已邀请:
2 个回复
香腔弥胯瓤
是指向
的指针数组。
是指向
的指针。
是指向
的指针。 现在您需要传递the5ѭ对象。因此,您需要:
考虑使用
代替C数组。这将是:
我注意到您在构造函数中再次声明了变量
:
应该不是吗? :
我想您需要以下内容:
耐扫鹤胶鞭