Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > error C2064: term does not evaluate...


Автор: uvsoft 7.10.2005, 20:43
простите за банальность, но вот никак не могу понять в чем же здесь суть( не компилится...
Код

#include <vector>
#include <algorithm>

using namespace std;

class CMyClass {
public:
    CMyClass() {}
    ~CMyClass() {}
    void DoIt() {
        vector<int> vec;
        vec.push_back(1);
        vec.push_back(3);
        for_each(vec.begin(), vec.end(), MyFunc);  //C2064, кидает в функцию for_each, на строчку вызова функции MyFunc
    }
private:
    void MyFunc(int i) {}
};

int main() {
    return 0;
}


Спасиб

Автор: Hroft 8.10.2005, 12:25
static void MyFunc(int i) {}

Автор: uvsoft 8.10.2005, 13:24
ну а если у меня в классе есть переменная, а из этой функции нужно с ней работать, то ето же не прокатит

Автор: Void 8.10.2005, 16:00
uvsoft
Код

#include <functional>
...
for_each(vec.begin(), vec.end(), bind1st(mem_fun(&CMyClass::MyFunc), this));

Автор: uvsoft 8.10.2005, 17:01
спасиб

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)