PDA

View Full Version : سوال: ارسال نوع ساختمان به تابع



god of war
شنبه 17 اسفند 1392, 08:08 صبح
سلام به همگی
یه سوال داشتم خواهشا جواب بدید
ببینید فرض کنید یک structure محلی داخل تابع main تعریف کردیم مثلا به اسم person . چه جوری میشه person رو به تابع فرستاد ؟ ببینید من نمیخوام یک شی به تابع بفرستم میخوام کل struct ورودی تابع باشه . یعنی کل ساختمان بره به تابع نه یک شی از اون

asdasd123123
شنبه 17 اسفند 1392, 11:47 صبح
باید از الگو ( template ) استفاده کنید تا یه نوع (انواع اصلی، ساختار یا کلاس) رو به تابع بفرستید.

god of war
شنبه 17 اسفند 1392, 12:38 عصر
Doooste aziz mishe kami bishtar tozih bdi ? Daghighan bayad ch kar konam ?
Bbakhshid man. Keyboard farsi nadaram

asdasd123123
شنبه 17 اسفند 1392, 13:09 عصر
دقیقا می خواهید چی کار کنید؟ فرض می کنیم می خواهید یه شی از اون نوع که به تابع
فرستادیم درست کنیم، در این صورت این جوری میشه:

// function:
template<typename T> void myFunc()
{
T var;
// other code...
}
// how to use this function:
myFunc<int>();
// or
myFunc<myClass>();

در مورد template جستوجو کنید.

hamedlll
شنبه 17 اسفند 1392, 13:16 عصر
http://stackoverflow.com/questions/10370047/passing-struct-to-function

god of war
شنبه 17 اسفند 1392, 15:05 عصر
ببینید دوستان ای راه هایی که شما گفتین برای فرستادن یک شی از این ساختمان به تابع هستش
مثلا اگه اسم استراکت person باشه باید اول یک شی درست کنیم بعد شی رو بفرستیم به تابع یعنی اینجوری :
person p;
func(p);
اما من میخوام کل ذات struct رو به تابع بفرستم نه یک رکورد از اون ساختمان رو . میخوام ورودی تابع خود struct باشه مثلا :
func(person);
بعد توی اون تابع رکورد ساخته بشه . با template نشد :(

amirhossein.ha
شنبه 17 اسفند 1392, 16:48 عصر
منظورتون اینه :‌ http://paste.ubuntu.com/7055865/

توی ورودی های تابع اسم اون struct رو بزارید مشکل حل میشه

اگه سوالی هست در خدمتم

hamedlll
شنبه 17 اسفند 1392, 18:04 عصر
http://stackoverflow.com/questions/10370047/passing-struct-to-function
تو این لینک کل استرکت رو میفرسته که.

god of war
شنبه 17 اسفند 1392, 18:44 عصر
ديگه همينو ميدم به استاد ولي فكر كنم اين نباشه . آخه اين خيلي بديهيه استادمون ميگفت خيلي سخته

rahnema1
شنبه 17 اسفند 1392, 21:24 عصر
نام کلاس محلی یا local class در محدوده دربرگیرنده اون قابل دسترسی است یعنی توی اون محیط "محلی" است. بند 9.8 استاندارد

asdasd123123
دوشنبه 19 اسفند 1392, 12:59 عصر
بعد توی اون تابع رکورد ساخته بشه . با template نشد :(
امتحان کردم شد مشکل از جای دیگست حتما.