Помогите разобраться!!!

/* main.cpp *\
#include <iostream>
#include <string>
#include "led.h"
#include <vector>

int main()
{
    setlocale(0, "");

    char choice;
    int buffer;
    float average_ball;
    int sum = 0;

    std::cout << "Выберите предмет: " << std::endl;
    std::cout << "1 - Математика" << std::endl;
    std::cout << "2 - История" << std::endl;
    std::cin >> choice;

    std::vector<int> scores;
    std::cout << "Введите оценки(для завершения введите 0): " << std::endl;
    do
    {
        std::cin >> buffer;
        if(buffer > 0)
        {
            sum += buffer;
            scores.push_back(buffer);
            if(buffer == 0)
                break;
        }
    }while(buffer);
    unsigned int vector_size = scores.size();
    average_ball = (float)sum / (float)vector_size;
    Godds *godds = new Godds(choice, scores, average_ball);


}

/* led.h *\
#pragma once
#include <iostream>
#include <string>
#include <vector>


class Godds
{
public:
    Godds(int, std::vector<int>, float);

    void set_choice(int);
    int get_choice();

    void set_scores(int );
    int get_scores();

    void set_average_ball(float);
    float get_average_ball;

private:
    int choice;
    std::vector<int> scores;
    float average_ball;

};

/* students.cpp *\
#include <iostream>
#include <string>
#include "led.h"
#include <vector>


Godds::Godds(int choice, std::vector<int> scores, float average_ball)
{
    Godds::set_choice(choice);
    Godds::set_scores(scores);
    Godds::set_average_ball(average_ball);
}

Почему не работает эта строчка:
Godds::set_scores(scores);
Можете объяснить?
p.s. Могу сделать другим способом, но хочу именно с помощью конструктора.

class Godds
{
public:
    Godds(int, std::vector<int>, float);

    void set_choice(int);
    int get_choice();

    void set_scores(int );
    int get_scores();

Видимо ты имел ввиду следующее?

class Godds
{
public:
    Godds(int, const std::vector<int> &, float);

    void set_choice(int);
    int get_choice();

    void set_scores(const std::vector<int> & );
    std::vector<int> & get_scores() const;

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.