我的课程如下:
class stats {
公共:int strength, 感知,耐力,魅力,智力,敏捷性,运气,健康,耐力,魔法,因缘;};
据我所知,除非我需要设置构造函数和析构函数,否则不应该有任何错误。
我使用以下行创建我的对象:
stats * mainstat = new stats;
我有以下功能来"填充"所述课程的对象:
void statfiller(stats * object,int table []){
对象 - >强度=表[0];对象 - >感知=表[1]; 对象 - >耐力=表[2];对象 - >风采=表[3]; 对象 - >智力=表[4];对象 - >敏捷=表[5]; 对象 - >运气=表[6];对象 - >健康=表[7]; 对象 - >耐力=表[8];对象 - >魔法=表[9]; 对象 - >因缘=表[10];
}
所以,在那之前,没问题。至少,直到以下:
我创建了一个包含要填充数据的表格,然后将其提供给我的填充函数。
int tablet [10];片剂[0] = 5;片剂[1] = 5;片剂[2] = 5;片剂[3] = 5; 片剂[4] = 5;片剂[5] = 5;片剂[6] = 5;片剂[7] = 50;片剂[8] = 50; 片剂[9] = 50;片剂[10] = 0;
statfiller(mainstat *,片剂);
当我这样做时,会出现编译错误,说明我的函数的语法不正确。
为什么会这样?我需要使用指针(*)或地址(&)吗?我有什么遗失的吗?
可能的是,解决方案非常简单,但在打字时,我只是看不出它的错误^^;
答案 0 :(得分:0)
此问题的解决方法如下:
函数的语法是" void statfiller(stats * object,int table [])",其中stats *对象用作引用,指向stats类对象的指针。 / p>
在函数调用" statfiller(mainstat *,平板电脑);"中,我犯的错误是调用stat对象的指针(在本例中为mainstat)而不是仅仅放置在对象中。