C++ 我需要c+的结构方面的帮助+;

C++ 我需要c+的结构方面的帮助+;,c++,structure,C++,Structure,该计划是采取一个结构与对象名“st”将采取年龄,然后比标准的名字和姓氏 但它说的是这个错误 (main.cpp:33:10:错误:非静态成员函数“void Student::age(int)”的使用无效) #包括 #包括 #包括 #包括 #包括 使用名称空间std; 结构学生{ 静态字符串f,l; 静态int a,s; 空隙年龄(int-ag); 无效首字母名称(字符串fi) { f=fi; } 无效姓氏(字符串la) { l=la; } 无效标准(int st) { s=st; } }; 无效

该计划是采取一个结构与对象名“st”将采取年龄,然后比标准的名字和姓氏

但它说的是这个错误

(main.cpp:33:10:错误:非静态成员函数“void Student::age(int)”的使用无效)

#包括
#包括
#包括
#包括
#包括
使用名称空间std;
结构学生{
静态字符串f,l;
静态int a,s;
空隙年龄(int-ag);
无效首字母名称(字符串fi)
{
f=fi;
}
无效姓氏(字符串la)
{
l=la;
}
无效标准(int st)
{
s=st;
}
};
无效学生::年龄(int ag)
{
a=ag;
}
int main(){
学生会;
cin>>圣时代>>圣名>>圣姓>>圣标准;

cout现在还不清楚您试图用代码实现什么

首先,您的问题是,要将一些输入放入接受参数的成员函数,您需要将输入放入临时参数并传递它们,您还应该将成员函数重命名为
set_age
set_First_name
,等等,以指示它们正在执行的操作

Student-st;
智力年龄;
std::string first_name;
std::字符串last_name;
国际标准;
std::cin>>年龄>>名字>>姓氏>>标准;
圣塞图时代(age);
st.set_first_name(first_name);
st.set_姓氏(姓氏);
st.set_标准(标准);
然后,您尝试使用相同的函数输出它们,而不再次调用它们,但即使您这样做,它们也会返回
void
,因此没有什么。您需要一组不同的成员函数来访问这些变量

班级学生{
智力年龄;
/*代码的其余部分*/
int get_age()常量{
回归年龄;
}
};
int main(){
学生;
学生。设定年龄(10岁);
std::难道你的代码有很多问题(比如:为什么f,l,.a,s是静态的?)但是错误消息来自这样一个事实:
st.age
是一个可以被
st.age(20)
调用的方法,但是不能从流中读取或写入。你应该寻找一个新的方法。
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

    struct Student{
    static string f,l;
    static int  a,s;
    void age(int ag);
    void first_name(string fi)
    {
        f=fi;
    }
    void last_name(string la)
    {
        l=la;
    }
    void standard(int st)
    {
        s=st;
    }
};
void Student :: age( int ag)
{
    a=ag;
}

int main() {
     Student st;
     cin >> st.age >> st.first_name >> st.last_name >> st.standard;
     cout << st.age << " " << st.first_name << " " << st.last_name << " " << st.standard;

    return 0;
}