高手求助,error: use of member as default parameter requires static member.怎么办,详见内容
我知道那个error的意思,问题是我就是想这样去做,请问我该怎么办?
class A
{
public:
int Method1(int i = 0);
}
int A::Method(int i)
{
return 0;
}
这样没问题。
但是如果Method1里面的int i = 0 换成是一个struct结构,并且和i = 0 一样,我希望那个struct也有一个值,这时就会出现问题。
比如那个struct如下:
struct Point
{
int x;
int y;
}
Point p;
p.x = 0;
p.y = 0;
Method(Point xx = p);
这样就会有问题。
我就是想这样做,怎么解决。
这是error: use of member as default parameter requires static member.
我该怎么做。
问题点数:50、回复次数:4Top
1 楼xmxjh(程序员)回复于 2005-08-03 21:49:30 得分 5
Method(Point * xx=&p)
不知道行不?Top
2 楼hdt(倦怠)回复于 2005-08-03 23:29:34 得分 20
#include "stdafx.h"
struct ms
{
ms(int m):n(m)
{}
int n;
};
class mc
{
public:
mc(){}
void test( ms* mp = new ms(1) )
{}
};
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
Top
3 楼hdt(倦怠)回复于 2005-08-03 23:33:09 得分 25
// defaultstruct.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
struct ms
{
ms(int m):n(m)
{}
int n;
};
class mc
{
public:
mc(){}
void test( ms mp = ms(1) )
{}
};
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
Top
4 楼poluopoluomi(菠萝菠萝蜜)回复于 2005-08-04 14:06:11 得分 0
to xmxjh:
这样应该也是不可以的。不过谢谢先。
to hdt:
谢谢,问题解决。分给出。注意查收。:)
Top




