Язык: C ++, MFC
Проблема: Я пытаюсь передать функции некоторые указатели на переменные, содержащиеся в массиве, но компилятор неКажется, я не согласен с тем, как я это делаю.Вот мой код:
Заголовочный файл:
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
};
Исходный файл: DoDataExchange ()
void FSC_3DPersp::DoDataExchange(CDataExchange* pDX)
{
CSAPrefsSubDlg::DoDataExchange(pDX);
for(int i = 2001, j = 0; i <= 2004, j < 4; i++, 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
);
Я хотел сделать свой обмен данными таким образом, потому что в некоторых моих файлах у меня более 75 переменных, и использование цикла значительно сокращает код и упрощает вещи.
IЯ знаю, что у меня проблема в том, что я просто передаю DDX_Text неправильные параметры, но я знаю, что он принимает CStrings.Тем не менее, я почти уверен, что не правильно ссылаюсь на них.
Любая помощь будет принята с благодарностью!
~ Jon