sourcecode
دوشنبه 17 فروردین 1394, 12:36 عصر
چطوری اشاره گری که آدرس یک تابع را گرفته و بعد از انجام یکسری کارها , دوباره اشاره گر را حذف کنم.
با دستور delete [] ارور میداد . میگه که بعضی از اشاره گرها به تابع رو نمیتوانیم حذف کنیم.
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
void get(int(*p)(const char *, const char *), char *str1, char *str2)
{
if (p(str1 , str2))
cout << "str1" << endl;
else
cout << "str2" << endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
char str1[20], str2[20];
cout << "Enetr Str1 : ";
cin >> str1;
cout << "Enter Str2 : ";
cin >> str2;
int(*p)(const char *, const char *);
p = strcmp;
get(p, str1, str2);
//delete[] p; ERROR
cout << endl;
system("pause");
return 0;
}
با دستور delete [] ارور میداد . میگه که بعضی از اشاره گرها به تابع رو نمیتوانیم حذف کنیم.
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
void get(int(*p)(const char *, const char *), char *str1, char *str2)
{
if (p(str1 , str2))
cout << "str1" << endl;
else
cout << "str2" << endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
char str1[20], str2[20];
cout << "Enetr Str1 : ";
cin >> str1;
cout << "Enter Str2 : ";
cin >> str2;
int(*p)(const char *, const char *);
p = strcmp;
get(p, str1, str2);
//delete[] p; ERROR
cout << endl;
system("pause");
return 0;
}