PDA

View Full Version : سوال: مشکل در پیاده‌سازی تابع عضوی که مقدار بازگشتی آن از نوع کلاس داخلی است!



subsub
پنج شنبه 30 اردیبهشت 1389, 21:00 عصر
سلام

فرض کنید یه کلاس LinkedList داریم که ساختار یا کلاس Node توش تعریف شده (یعنی کلاس‌های متداخل)
فرض کنید توی این کلاس LinkedList یه تابع داریم با نام Find که خروجی‌اش از نوع *Node یا &Node هست.

وقتی می‌خوام بیرون از کلاس این تابع رو implemenet کنم، مشکلی نداره. اما وقتی کلاس حالت عمومی پیدا می‌کنه یعنی بالای کلاس LinkedList می‌نویسم template <class Type> خطا میگیره و برنامه اجرا نمیشه. مشکل چیه؟
کدی که می‌زنم مثل کد زیر هستش:





template <class Type>
LinkedList
{
Public:
Node* Find();
private:
struct Node
{
T data;
Node* next;
};
};

temlate <class Type>
LinkedList<Type>::Node* LinkedList<Type>::Find()
{
...
}