Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何将函数插入到数据结构中?_C++_Function_Data Structures - Fatal编程技术网

C++ 如何将函数插入到数据结构中?

C++ 如何将函数插入到数据结构中?,c++,function,data-structures,C++,Function,Data Structures,在数据结构中,如何插入函数 struct Student_info { std::string name; double midterm, final; unsigned int& counter; std::vector<double> homework; double overall = grade(students[counter]); }; struct学生信息{ std::字符串名; 双倍期中、期末考试; 无符号整数&计数器; 向量作业; 双总=成绩(学生[柜台]

在数据结构中,如何插入函数

struct Student_info {
std::string name;
double midterm, final;
unsigned int& counter;
std::vector<double> homework;
double overall = grade(students[counter]);
};
struct学生信息{
std::字符串名;
双倍期中、期末考试;
无符号整数&计数器;
向量作业;
双总=成绩(学生[柜台]);
};
始终获取此类型的错误:-

a。此代码中未声明“变量”

b。“学生信息::计数器”不能出现在常量表达式中

c。数组引用不能出现在常量表达式中

d。函数调用不能出现在常量表达式中

编辑:- 哎呀,我的意思是学生信息包含在向量中,等等,为什么需要这些信息。。。Dx

哦,顺便说一下,这是一本来自加速C++的书,很明显,我正在尝试回答其中一个练习,然后我需要知道这一部分,在书DX/P>上找不到任何部分。


问题是4-6。重写Student_info结构以立即计算成绩并仅存储最终成绩。

您可以在结构中动态插入函数

可以声明具有方法()的结构

您也不能像上面那样初始化成员

double overall = grade(students[counter]);
在这里,您需要创建将初始化成员的构造函数

struct Student_info
{
    Student_info(std::string& studentName, unsigned int& externalCounter)
        : name(studentName)
        , midterm(0)
        , final(0)
        , counter(externalCounter)
        , homework()

        // It is not clear if overall is a normal memeber
        // Or a static member of the class
        , overall(grade(students[counter]))
    {}
    // STUFF
};
int main()
{
    unsigned int counter   = 0;
    Student_info bob("Bob", counter);
}

您可以动态地将函数插入到结构中

可以声明具有方法()的结构

您也不能像上面那样初始化成员

double overall = grade(students[counter]);
在这里,您需要创建将初始化成员的构造函数

struct Student_info
{
    Student_info(std::string& studentName, unsigned int& externalCounter)
        : name(studentName)
        , midterm(0)
        , final(0)
        , counter(externalCounter)
        , homework()

        // It is not clear if overall is a normal memeber
        // Or a static member of the class
        , overall(grade(students[counter]))
    {}
    // STUFF
};
int main()
{
    unsigned int counter   = 0;
    Student_info bob("Bob", counter);
}


“学生信息是一个向量”。不,不是。这是一个
struct
。我认为您需要更具体地说明您在这里要做什么。双总=成绩(学生[柜台]);看起来非常错误,你不应该做一些类似于空StGiGeGeD的事情{{ =学生[Real],} Vistor,我想你需要看一本C++书来获取这些概念,然后返回并问Hel.LoL,在另一个问题上,我解释了太多的事情要做什么,问题被关闭了,并告诉缩小问题……我认为另一个问题已经结束了,因为它不是一个真正的问题,只是一堆信息。这是不同的,因为你显然来自一个不太严格的语言,还没有了解C++的基本语法。这使得你很难理解你的问题,因为你把你的原语言和C++的语法混合在一起,以至于它使问题几乎无法理解。“学生信息是一个向量”。不,不是。这是一个
struct
。我认为您需要更具体地说明您在这里要做什么。双总=成绩(学生[柜台]);看起来非常错误,你不应该做一些类似于空StGiGeGeD的事情{{ =学生[Real],} Vistor,我想你需要看一本C++书来获取这些概念,然后返回并问Hel.LoL,在另一个问题上,我解释了太多的事情要做什么,问题被关闭了,并告诉缩小问题……我认为另一个问题已经结束了,因为它不是一个真正的问题,只是一堆信息。这是不同的,因为你显然来自一个不太严格的语言,还没有了解C++的基本语法。这使得你很难理解你的问题,因为你把你的原语言和C++的语法混合在一起,以至于它使问题几乎无法理解。好的,第一个答案是我在寻找什么,如果我不是学习的构造函数,那又如何呢?还有其他选择吗?构造函数/析构函数几乎总是与您第一次介绍类(类与结构相同)时在同一章中,它们是最基本的。回头看第1/2章等等,我们是在谈论同一本书吗?我不知道你在说什么:s@Vastor:如果你的书在前1/2章中没有提到构造函数/析构函数,那么你最好把它扔掉。拿起一个好,加速C++是我的一本书,如果没有读过,不像其他C++书籍/教程,它定义了每个工具,但是教它如何使用它(像在艺术/绘画课上,而不是教给大家知道每种颜色,书教OH如何使用它(颜色理论等)),BTW,我使用SeleNCPP.com来了解C++中的每一个工具。(有人认为它不包含向量(幸运的是C++加速了第3章))好的,第一个答案是我在寻找什么,还有,如果我不是学习的构造函数,那又如何呢?还有别的选择吗?构造函数/析构函数几乎总是和你第一次入门课的章节一样。(类与结构相同)它们是最基本的。回过头来读第1/2章等等,我们是在谈论同一本书吗?我不知道你在说什么:s@Vastor如果你的书在前1/2章中没有提到构造函数/析构函数,那么你最好扔掉它。拿起一本好的,加速的C++是我拥有的一本书,如果从来没有。阅读它,不像其他C++书籍/教程,它定义了每个工具,但是教它如何使用(像在艺术/绘画课中,而不是教给每个颜色知道,书教OH如何使用它(颜色理论等)),BTW,我使用SeleNCPP.com来了解C++中的每个工具(认为有些东西不包含向量)(幸运的是,C++加速了第3章)