PDA

View Full Version : مشکل در استفاده از کلاسهای template تو در تو



Sepidar
یک شنبه 16 مهر 1385, 15:16 عصر
سلام
در برنامه ای که مینویسم لازم دارم که از کلاسهای STL به صورت تو در تو استفاده کنم. ساده شده برنامه من را می توانید در زیر مشاهده کنید:


#include <iostream>
#include <set>
#include <functional>

using namespace std;

class C;
class CLess;

typedef set<C,CLess> CSet;

class C
{
public:
int data;
CSet cset; // <<-------- با اضافه کردن این خط مشکلات شروع می شوند
C(int d):data(d){};
};

class CLess : binary_function <C,C,bool>
{
public:
bool operator()(C a, C b){return a.data<b.data;}
};

int main()
{
C c(0);
CSet cset;
cset.insert(c);
cout << "Hello world!" << endl;
return 0;
}

اما به محض اضافه کردن خطی که مشخص کرده ام، خطاهای عجیب و غریبی از کامپایلر میگیرم. :عصبانی++: :عصبانی++:
لطفا کمک کنید.

Sepidar
یک شنبه 16 مهر 1385, 19:31 عصر
یه سرچ زدم، ظاهرا مشکل از نحوه کار کردن من با STL نیست، بلکه مشکل از نحوه کار با تمپلیتهاست.