PDA

View Full Version : رفع error های برنامه



fshb_ 1370
شنبه 24 مهر 1389, 18:38 عصر
error های این برنامه چیه؟
مگه من نمیتونم ی مقدار غیر const رو به تابعی بفرستم که پارامتر آن تابع const هست؟اگه درسته پس چرا وقتی const char رو به char تغییر میدم، برنامه اجرا میشه؟
کد:


#include<iostream>
#include<cstring>
using namespace std;
char * left(const char * c,int n=1);
int left(int num,int n);
const int Arsize=80;
int main()
{
char c[]="for test";
char *cp=left(c,4);
cout<<"the string:"<<cp<<endl;
delete [] cp;
int n=1324;
cout<<"the number:"<<left(n,2)<<endl;
return 0;
}
char * left(char *c,int n)
{
if(n<0)
n=0;
int len=strlen(c);
n=(n<len)?n:len;
char * p=new char[n+1];
int i;
for (i=0;i<n;i++)
p[i]=c[i];
p[i]='\0';
return p;
}
int left(int num,int n)
{
int number=num;
if (num==0||n==0)
return 0;
if (num>n)
{
int digits=1;
while(number/=10)
digits++;
n=digits-n;
while(n--)
num/=10;
return num;
}
else
return num;
}

sh4mid
شنبه 24 مهر 1389, 19:51 عصر
سلام
تو تعریف تابع left نوشتی


char * left(const char * c,int n=1);
تو پیاده سازی نوشتی


char * left(char *c,int n);