尝试将结构用作返回类型时出错 我是C++初学者。我正在尝试创建一个函数,它可以调整当前结构数组的大小。在我得到这个错误的中途“'myStruct'没有命名类型”和“'resizeArray'没有在此范围内声明” myStruct resizeArray(myStruct*f,int*sizeOfArray); myStruct resizeArray(myStruct*f,int*sizeOfArray) { *sizeOfArray*=2; //需要补充的东西 } 结构myStruct{ 字符串名; 国际日; }; int main() { 结构myStruct f; int值=0; int-sizeOfArray=10; 朋友的整数=0; myStruct*ptr=新myStruct[sizeOfArray]; 而(值>0) { 姓名; 连续6天; 库特值; } 调整阵列大小(ptr和sizeOfArray); if(sizeOfArray==朋友数) { } ptr[朋友的数量]=f; 好友数++; 返回0; }

尝试将结构用作返回类型时出错 我是C++初学者。我正在尝试创建一个函数,它可以调整当前结构数组的大小。在我得到这个错误的中途“'myStruct'没有命名类型”和“'resizeArray'没有在此范围内声明” myStruct resizeArray(myStruct*f,int*sizeOfArray); myStruct resizeArray(myStruct*f,int*sizeOfArray) { *sizeOfArray*=2; //需要补充的东西 } 结构myStruct{ 字符串名; 国际日; }; int main() { 结构myStruct f; int值=0; int-sizeOfArray=10; 朋友的整数=0; myStruct*ptr=新myStruct[sizeOfArray]; 而(值>0) { 姓名; 连续6天; 库特值; } 调整阵列大小(ptr和sizeOfArray); if(sizeOfArray==朋友数) { } ptr[朋友的数量]=f; 好友数++; 返回0; },c++,struct,C++,Struct,a)在定义结构之前尝试使用它 b) 你说你要返回一个结构,但是没有 动议如下: struct myStruct{ string Name; int days; }; 在resizeArray()之前,然后使resizeArray()返回一个适当的值或更改其签名。计算机是合乎逻辑的。他们做事从头到尾都是循序渐进的。它们不会跳来跳去,而是沿着直线移动 当计算机读取源文件时,首先看到的是: myStruct resizeArray(myStruct * f, int * sizeO

a)在定义结构之前尝试使用它

b) 你说你要返回一个结构,但是没有

动议如下:

struct myStruct{

    string Name;
    int days;
};

resizeArray()
之前,然后使
resizeArray()
返回一个适当的值或更改其签名。

计算机是合乎逻辑的。他们做事从头到尾都是循序渐进的。它们不会跳来跳去,而是沿着直线移动

当计算机读取源文件时,首先看到的是:

myStruct resizeArray(myStruct * f, int * sizeOfArray);
这台可怜的电脑根本不知道你在说什么。它对这个名为
myStruct
的神秘实体一无所知。它不知道它从哪里来。它刚刚开始读取这个文件,对其中的内容一无所知

所以你可怜的电脑大声抱怨


请在使用
结构之前,通过声明和定义
结构来帮助您的计算机。您的计算机将为此感谢您。

当您定义函数时,您的结构尚未定义,因为这只发生在几行之后。因此,试着将结构定义置于函数定义之上。或者,更好的方法是将其放在头文件中。

首先,尝试在resize方法之上定义结构。但这不仅仅是一个错误。

将结构声明放在函数声明/定义之前。若要修复编译器错误,必须先显示
myStruct
的定义,然后再将其用作返回值。但是,你会遇到更大的问题(没有办法让
resizeArray
改变你在
main
中新建的
数组的大小;而且还不清楚返回值是多少,为什么人们会投票给一个试图学习东西的初学者!!
myStruct resizeArray(myStruct * f, int * sizeOfArray);