您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> C++提示非标准语法;请使用 "&" 来创建指向成员的指针,如何解决啊?

齐发国际登录

来源:网络整理     时间:2016/6/3 1:04:23     关键词:

关于网友提出的“C++提示非标准语法;请使用 "&" 来创建指向成员的指针,如何解决啊?”问题疑问,本网通过在网上对“C++提示非标准语法;请使用 "&" 来创建指向成员的指针,如何解决啊?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:C++提示非标准语法;请使用 "&" 来创建指向成员的指针,如何解决啊?
描述:

#include <iostream>
using namespace std;
class MyClass
{
public:
MyClass(double x,double y) { x = count,y = value; }
MyClass() { count = 0, value = 0; }
double tripleByValue(double);
double tripleByReference(double &);
void setvalue();
private:
double count;
double value;
};
void MyClass::setvalue()
{
cout << "输入一个数并计算立方" << endl;
cin>>count;
}
double MyClass::tripleByValue(double m_count)

value=count*count*count;
return value;
}
double MyClass::tripleByReference(double &count)
{
value= count*count*count;
return value;
}
int main(void)
{
MyClass a;
a.setvalue();
cout << "按值传递的value为:" << endl;
a.tripleByValue;
cout << "按引用传递的value为:" << endl;
a.tripleByReference;
return 0;
}


解决方案1:


int main(void)
{
MyClass a;
a.setvalue();
cout << "按值传递的value为:" << a.tripleByValue(参数) << endl;
cout << "按引用传递的value为:" << a.tripleByReference(参数) << endl;
return 0;
}
没参数的话,编译器将会理解成函数指针,但函数指针需要这样写:&MyClass::tripleByValue

解决方案2:

tripleByValue和tripleByReference又没有设默认值,楼主不能这样调用的,必须传值
tripleByReference因为是引用传递所以传的必须是个变量


int main(void)
{
    MyClass a;
    a.setvalue();
    cout << "按值传递的value为:" << endl;
    a.tripleByValue(1.1);
    cout << "按引用传递的value为:" << endl;
double b = 1.2;
    a.tripleByReference(b);
 
    return 0;
}


以上介绍了“C++提示非标准语法;请使用 "&" 来创建指向成员的指针,如何解决啊?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.machineofchina.com/itwd/1468976.html

相关图片

相关文章