C++ 基本C++;函数指针&;结构
我在将数组结构传递到函数进行处理时遇到问题 我认为我需要将数组的地址传递给函数,但是,我遇到了多个编译器错误,并且正在尝试使用的组合已经用完 然后,该函数需要向新的结构成员返回一个值 这是我最好的机会C++ 基本C++;函数指针&;结构,c++,arrays,function,pointers,struct,C++,Arrays,Function,Pointers,Struct,我在将数组结构传递到函数进行处理时遇到问题 我认为我需要将数组的地址传递给函数,但是,我遇到了多个编译器错误,并且正在尝试使用的组合已经用完 然后,该函数需要向新的结构成员返回一个值 这是我最好的机会 //----------------- void Function(struct MyStruct* ptr); //------------------ int main(){ MyStruct array[MAX]; for (int i=0; i<MAX;
//-----------------
void Function(struct MyStruct* ptr);
//------------------
int main(){
MyStruct array[MAX];
for (int i=0; i<MAX; i++)
{
File>>array[i].V1;
File>>array[i].V2;
File>>array[i].V3;
File>>array[i].V4;
MyStruct* ptr = &array[i];
array[i].V5 = Function(ptr);
}
}
//-----------------------
void Function(struct MyStruct* ptr)
{
// do something with the struct, how to I access each element in here?
}
//-----------------
void函数(struct MyStruct*ptr);
//------------------
int main(){
MyStruct数组[MAX];
对于(int i=0;i>array[i].V1;
文件>>数组[i].V2;
文件>>数组[i].V3;
文件>>数组[i].V4;
MyStruct*ptr=&array[i];
数组[i].V5=函数(ptr);
}
}
//-----------------------
void函数(struct MyStruct*ptr)
{
//对结构做些什么,我如何访问这里的每个元素?
}
谢谢!对于
函数
,您有一个void
类型,这就是为什么您不能返回任何内容。您应该让它返回V5
的类型
此外,要访问ptr
的元素,请使用箭头符号:
ptr->V5
对于
函数
,您有一个void
类型,这就是您不能返回任何内容的原因。您应该让它返回V5
的类型
此外,要访问ptr
的元素,请使用箭头符号:
ptr->V5
你的
main
看起来不错。别忘了给函数一个有用的返回类型,它将匹配数组[i].V5
,在它里面,你可以通过ptr->V1
这样的指针访问MyStruct
的成员,ptr->V2
等等。你的main
看起来不错。别忘了给函数一个有用的返回类型,它将匹配数组[i].V5
,您可以通过ptr->V1
,ptr->V2
等指针访问MyStruct
中的成员以获取回复。在我的函数中:ptr->V5=1.0;给出错误C2227:“->V5”的左侧必须指向class/struct/union/generic type。这将节省我必须定义返回类型的时间,即t我想这样做。谢谢!@user1055774您如何定义MyStruct
?您应该更新您的问题,以显示完整的代码。对不起,是我。我分配了一个类型不正确的值。代码正在工作,有时您只需要有人指出显而易见的问题。谢谢!谢谢您的回答。在我的函数中:ptr->V5=1.0;给出错误C2227:“->V5”的左边必须指向class/struct/union/generic type。这将节省我必须定义返回类型的时间,这正是我想要做的。谢谢!@user1055774您如何定义MyStruct
?您应该更新您的问题以显示完整的代码。对不起,是我。我分配了一个inco的值正确的类型。代码正在运行,有时你只需要有人指出明显的。谢谢!