Как вызвать функцию в mfc?

Я новичок в программировании MFC. Я использую vs 2008 в приложении на основе диалога. Я хочу вызвать функцию ниже для события нажатия кнопки...? Когда я вызываю SortList(listboxone); выдает ошибку, что SortList не найден...! Пожалуйста помогите..!!

void SortList(CListBox& templistbox)
{   
    DWORD_PTR abc;
    int a=templistbox.GetCurSel();// Select current  Item Index    
    if(a<templistbox.GetCount()-1)
    {
        abc = (DWORD_PTR )templistbox.GetItemData(a);
        a++;
        templistbox.SetItemData(a,(DWORD_PTR) templistbox.GetItemData(templistbox.GetCurSel()));
    }
}

Извините, теперь я изменил функцию, как указано выше, но все равно выдает ту же ошибку.


person Dharma Cool    schedule 20.03.2013    source источник
comment
Где вы вызываете функцию? Функция находится в том же файле?   -  person Mohammad Dehghan    schedule 20.03.2013
comment
Почему это помечено как C# и .NET? Фиксированный.   -  person Ed S.    schedule 20.03.2013
comment
yes Функция находится в том же файле.   -  person Dharma Cool    schedule 20.03.2013
comment
Если вы действительно вызываете SortList(listboxone), то такой функции нет. В приведенном выше исходном коде показана функция, которая требует в качестве аргументов два int и CListBox.   -  person Roger Rowland    schedule 20.03.2013
comment
Покажите код вызова, пожалуйста.   -  person Mohammad Dehghan    schedule 20.03.2013
comment
Уважаемый @roger_rowland, я отредактировал код, как указано выше. Удалены аргументы функции, но все равно появляется та же ошибка, я сохранил проект, перестроенный, но не удалось.   -  person Dharma Cool    schedule 20.03.2013
comment
Пишет что ошибка C3861:'SortList':идентификатор не найден   -  person Dharma Cool    schedule 20.03.2013


Ответы (1)


Вероятно, вы вызываете функцию над определением функции. В C/C++ вам необходимо определить функцию (или хотя бы ее прототип) перед вызовом функции. Положи это:

void SortList(CListBox& templistbox);

вверху исходного файла.

person Mohammad Dehghan    schedule 20.03.2013
comment
Ну не совсем верно. Вы можете объявить или определить функцию перед ее использованием. Вы даже можете сделать оба, если хотите, но вы должны сделать хотя бы один из этих двух. - person Nik Bougalis; 20.03.2013