none
构造函数的问题 RRS feed

答案

  • 错误提示很明确了啊.

    Yyh A=new Yyh(77,88);

    这是不可以的,new Yyh(77,88)返回的是一个指针,你对一个对象赋值当然是出错的.

    Yyh *A=new Yyh(77,88);//这才对

    • 已标记为答案 Honny_yeyh 2011年10月19日 6:41
    2011年10月19日 5:10

全部回复

  • 把构造函数的代码贴出来,就这么看你的代码应该没有问题.
    2011年10月19日 0:57
  • 除了什么错呢
    2011年10月19日 2:05
  • mm.cpp:7:26: error: conversion from 'Yyh*' to non-scalar type 'Yyh' requested

    source:

    int main()

    {

    cout<<"Entering main..."<<endl;

    Yyh A=new Yyh(77,88);

    .....}

    2011年10月19日 3:38
  • Yyh::Yyh()

    {

    char buffer[60];

    memset(buffer,0,60);

    FILE *fp=fopen("yyh.txt","r");

    fgets(buffer,60,fp);

    sscanf(buffer,"%d,%d",&x,&y);

    cout<<x<<","<<y<<","<<buffer<<endl;

    fclose(fp);

    }

    Yyh::Yyh(int xx,int yy)

    {

    x=xx;

    y=yy;

    FILE *fp=fopen("yyh.txt","w");

    fprintf(fp,"%d,%d",x,y);

    // fputc( x, fp );

    fclose(fp);

    cout<< "Constructor called."<<endl;

    }

    Yyh ::~Yyh()

    { }

    2011年10月19日 3:38
  • 错误提示很明确了啊.

    Yyh A=new Yyh(77,88);

    这是不可以的,new Yyh(77,88)返回的是一个指针,你对一个对象赋值当然是出错的.

    Yyh *A=new Yyh(77,88);//这才对

    • 已标记为答案 Honny_yeyh 2011年10月19日 6:41
    2011年10月19日 5:10