Форум программистов, компьютерный форум CyberForum.ru

Error C2106: '=' : left operand must be l-value - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Передача двумерного массива в конструктор класса http://www.cyberforum.ru/cpp-beginners/thread1719777.html
Здравствуйте! Не получается передать двумерный массив как параметр конструктора. Необходимо, чтобы пользователь ввел размерность квадратной матрицы и массив с клавиатуры. Эти значения надо передать конструктору с параметрами класса матрица. Вот как я пытался это сделать: ... cout << "\nРазмер матрицы n = "; cin >> xn; for (int i = 0; i < xn; i++) for (int j = 0; j < xn; j++)
C++ Сформировать одномерный массив из 50 элементов вещественного типа Расчет по формуле считается не правильно. Что не так ? Помогите исправить , кого это не затруднит , пожалуйста. a) Сгенерировать одномерный массив из 40 элементов целого типа в диапазоне ; b) Отсортировать массив по убыванию значений элементов методом выбора. с) Сформировать одномерный массив из 50 элементов вещественного типа x=sin(i/8) , i=1, 2, ..., 50. d) Отсортировать массив по... http://www.cyberforum.ru/cpp-beginners/thread1719757.html
C++ нужно переделать код системы счисления с делфи на с++ 2 часть
PROCEDURE TForm1.BIN_to_OCT(const n:string;Sender: TObject); var st1,st2,tmp,tmp2:string; flag:arrayof boolean; d,j:byte; BEGIN if flag_clear then memo1.Lines.Clear; memo1.Lines.Add(' ПЕРЕВОД ЧИСЛА '+n+#13#10+'ИЗ 2-й В 8-ую СИСТЕМУ СЧИСЕНИЯ'); memo1.Lines.Add(''); memo1.Lines.Add('Чтобы перевести число из двоичной системы счисления '+
C++ Переделать код системы счисления с Delphi на C++
const cod:arrayof char= ('0','1','2','3','4','5','6','7','8','9','A','B','C','D', 'E','F'); cod2:arrayof string= ('000','001','010','011','100','101','110','111'); cod3:arrayof string= ('0000','0001','0010','0011','0100','0101','0110','0111', '1000','1001','1010','1011','1100','1101','1110','1111');
C++ Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse) http://www.cyberforum.ru/cpp-beginners/thread1719744.html
Ребят, умоляю помогите. Незнаю что я опять делаю не так, но выдает такую ошибку. В общем задание такое: Работа с бинарными файлами. Матрица целых чисел записана по строкам в файл. Не используя нового файла, удалить нулевые строки матрицы из исходного файла. Вот код: #include <iostream> #include <conio.h> #include <fstream> #include <vector> using namespace std;
C++ Второй отрицательный элемент заменить минимальным Здравствуйте)Помогите пожалуйста, запуталась(Нужно заменить именно второй элемент. Например: -10,9,-2,3. (в примере заменится -2 на -10). Минимальное уже найдено в функции. Измените функцию void z1. #include<iostream> using namespace std; int input()//Ввод размера массива { int n; cout<<"Введите размер массива:"; подробнее

Показать сообщение отдельно
Alonka
0 / 0 / 0
Регистрация: 17.04.2016
Сообщений: 18

Error C2106: '=' : left operand must be l-value - C++

24.04.2016, 17:05. Просмотров 854. Ответов 31
Метки (Все метки)

Добрый день! Пишу программу управления колледжом. И столкнулась с этой ошибкой.

У меня есть класс Department который имеет массив указателей на Course:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Department
{
    static Department* p_department;    
private:
    string name_department;
    long id_department; 
    Course** p_course;
    int count_course;
    Department(const Department& d);
    void operator = (const Department& d);
public: 
    Department();
    static Department* instance();
    ~Department();  
    void set(string name_department, long id_department);
    long get_id_department() const { return id_department; }
    int get_count_course() const { return count_course; }
    Course** get_p_course() { return p_course; }
    friend ostream& operator << (ostream &os, const Department* p_department);
    friend istream& operator >> (istream &is, Department* p_department);
    friend void operator += (Department* p_department,const Course& temp);
 
};
И в нем я пытаюсь перегрузить оператор += который добавляет Course в Department:
C++
1
2
3
4
5
6
7
8
9
10
11
void operator += (Department* p_department, const Course& temp)
{
    int count_course = p_department->get_count_course();
    if (!count_course)
    {
        p_department->get_p_course() = new Course*[count_course + 1]; //здесь выдает ошибку
        p_department->get_p_course()[0] = Course::instance();
        cin >> p_course[0];
        count_course++;
    }
...
Ошибка появляется тогда когда я хочу получить указатель на курсы и создать массив.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru