feri88
یک شنبه 23 فروردین 1388, 14:02 عصر
سلام
من یه structure ای تعریف کردم که می خوام دو تا آرایه ی بایتی داشته باشه
چون سایز آرایه ها تو زمان اجرا معلوم میشه، دو تا اشاره گر تعریف کردم و سایز هر کدومم تعریف کردم
به این صورت:
struct MyStruct{
byte* First;
int Firstsize;
byte* Second;
int Secondsize;
}*mystruct;
بعدش یه اشاره گر ازش تعریف کردم به اسم mystruct.
حالا تو برنامم می خوام واسش حافظه بگیرم و مقادیری رو تو پارامتراش بریزم،
اومدم این کارو کردم:
mystruct =new MyStruct;
if(!mystruct)
//Allocation Failure
SetLastError();
mystruct -> Firstsize =size1;
mystruct -> First =new byte [size1];
mystruct -> Secondsize =size2;
mystruct -> Second =new byte [size2];
اول واسه mystruct حافظه گرفتم بعد چک کردم اگه حافظه نتونست بگیره یه ارور برگردونه(راستی من فایل winerror رو دیدم ولی اروری مربوط به مشکل تخصیص حافظه نداشت، می خواستم ببینم چه اروری باید واسه این مشکل ست کرد؟)
بعدش به هر کدوم از پارامتراش مقدار دادم. size1 و size2 تو زمان اجرا تعیین می شن.حالا واسه اشاره گرای First و Second به اندازه اونها حافظه گرفتم.
ولی مشکلم اینجاست که من که اول واسه mystruct حافظه گرفتم، برای پارامترای First و Second به اندازه فقط یه byte* حافظه می گیره نه به اندازه ی size1 و size2 بایت؟
حالا چی کار باید بکنم که این مشکل حل بشه؟
(در ضمن mystruct حتما باید اشاره گر باشه نه متغیر معمولی!)
اصلا لازمه که من اول واسه mystruct حافظه بگیرم؟
مرسی
من یه structure ای تعریف کردم که می خوام دو تا آرایه ی بایتی داشته باشه
چون سایز آرایه ها تو زمان اجرا معلوم میشه، دو تا اشاره گر تعریف کردم و سایز هر کدومم تعریف کردم
به این صورت:
struct MyStruct{
byte* First;
int Firstsize;
byte* Second;
int Secondsize;
}*mystruct;
بعدش یه اشاره گر ازش تعریف کردم به اسم mystruct.
حالا تو برنامم می خوام واسش حافظه بگیرم و مقادیری رو تو پارامتراش بریزم،
اومدم این کارو کردم:
mystruct =new MyStruct;
if(!mystruct)
//Allocation Failure
SetLastError();
mystruct -> Firstsize =size1;
mystruct -> First =new byte [size1];
mystruct -> Secondsize =size2;
mystruct -> Second =new byte [size2];
اول واسه mystruct حافظه گرفتم بعد چک کردم اگه حافظه نتونست بگیره یه ارور برگردونه(راستی من فایل winerror رو دیدم ولی اروری مربوط به مشکل تخصیص حافظه نداشت، می خواستم ببینم چه اروری باید واسه این مشکل ست کرد؟)
بعدش به هر کدوم از پارامتراش مقدار دادم. size1 و size2 تو زمان اجرا تعیین می شن.حالا واسه اشاره گرای First و Second به اندازه اونها حافظه گرفتم.
ولی مشکلم اینجاست که من که اول واسه mystruct حافظه گرفتم، برای پارامترای First و Second به اندازه فقط یه byte* حافظه می گیره نه به اندازه ی size1 و size2 بایت؟
حالا چی کار باید بکنم که این مشکل حل بشه؟
(در ضمن mystruct حتما باید اشاره گر باشه نه متغیر معمولی!)
اصلا لازمه که من اول واسه mystruct حافظه بگیرم؟
مرسی