سلام دوستان لطفا در مورد اشاره گر از نوع void و نحوه چاپ محتویاتش اگر کسی چیزی میدونه توضیح بده با تشکر....
Printable View
سلام دوستان لطفا در مورد اشاره گر از نوع void و نحوه چاپ محتویاتش اگر کسی چیزی میدونه توضیح بده با تشکر....
وقتی که ازکلمه کلیدی void درنوع برگشتی یک تابع استفاده می کنید مشخص می کنید که تابع مقداری رو برگشت نمی ده وقتی که ازاون درپارامترتابع استفاده می کنید مشخص می کنید که تابع پارامتری نمی گیره . زمانی هم که یک اشاره گرvoid تعریف می کنید یک اشاره گرعمومی تعریف می کنید یعنی . اگر یک اشاره گر ازنوع void * داشته باشید می تونه به هر متعیری که با کلمه کلیدی const یا volatile اعلام نشده باشه اشاره کنه . یک اشاره گر void نمی تونه به جایی اشاره کنه مگراینکه که به انواع دیگرتبدیل بشه . یک اشاره گر void * می تونه به هرنوعی دیگه ازاشاره گرها تبدیل می شه مثل int ,float , یک اشاره گرvoid می تونه به یک تابع اشاره کنه اما نمی تونه عضو یک کلاس باشه در C++ ;
شما نمی تونید متغیری ازنوع void داشته باشید
شما نمی تونید یک متعیر رو ازنوع void اعلان کنید
// void.cpp
void vobject; // error mide C2182
void *pv; // okay
int *pint; int i;
int main() {
pv = &i;
// Cast optional in C required in C++
pint = (int *)pv;
{
به نقل از msdn
همین کدی که نوشتید ارور error C2182: 'vobject': illegal use of type 'void' رو میده
سلام :
شما اگر در کد با لاهم نگاه کنید همین ارور کامنت شده هست داخل کد
بزار با یه کد تکمیل کنم : شما فقط می تونید به اشاره گر void به هرنوع داده ای اشاره کنید اما نمی تونید محتویات اشاره گر void رو چاپ کنید . یا مثلا یه اشاره گر void رو ++ کنید .
int x=5;
double y=4.00;
void *p;
p=&x;//ok
p=&y;//ok
++ *p // خطاست
cout<<*p; خطاست