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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Передача двумерного массива в конструктор класса http://www.cyberforum.ru/cpp-beginners/thread1719777.html
Здравствуйте! Не получается передать двумерный массив как параметр конструктора. Необходимо, чтобы пользователь ввел размерность квадратной матрицы и массив с клавиатуры. Эти значения надо...
C++ Сформировать одномерный массив из 50 элементов вещественного типа Расчет по формуле считается не правильно. Что не так ? Помогите исправить , кого это не затруднит , пожалуйста. a) Сгенерировать одномерный массив из 40 элементов целого типа в диапазоне ; b)... 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(' ...
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= ...
C++ Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse) http://www.cyberforum.ru/cpp-beginners/thread1719744.html
Ребят, умоляю помогите. Незнаю что я опять делаю не так, но выдает такую ошибку. В общем задание такое: Работа с бинарными файлами. Матрица целых чисел записана по строкам в файл. Не используя...
C++ Второй отрицательный элемент заменить минимальным Здравствуйте)Помогите пожалуйста, запуталась(Нужно заменить именно второй элемент. Например: -10,9,-2,3. (в примере заменится -2 на -10). Минимальное уже найдено в функции. Измените функцию void z1.... подробнее

Показать сообщение отдельно
Alonka
0 / 0 / 0
Регистрация: 17.04.2016
Сообщений: 18
25.04.2016, 16:39  [ТС]
+= friend потому что я использую его в другом классе. В классе College.
И в классе College есть массив указателей Department**. И мне нужно перегрузить += чтобы так добавлять Course в Department.

Добавлено через 8 минут
И компилятор ругается из-за оператора:

Error C2803 'operator +=' must have at least one formal parameter of class type

Добавлено через 2 минуты
Спасибо большое!Исправила:

C++
1
2
Course** arr=p_department->get_p_course();
arr = new Course*[count_course + 1];
Добавлено через 14 минут
Попробовала сделать так:
C++
1
2
3
4
5
6
void operator += (Department& p_department, const Course& c)
{
//...
    Course** arr=p_department.get_p_course();
    arr = new Course*[count_course + 1];
}
И тогда в классе College чтоб записать Course в Department нужно так?????
C++
1
*p_department[i] += temp;
Добавлено через 49 минут
И вот почему то в файле Department.h вылазит полно синтаксических ошибок:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#define _CRT_SECURE_NO_WARNINGS
#ifndef DEPARTMENT_H
#define DEPARTMENT_H
#include "Course.h"
#include <iostream>
#include <string>
using namespace std;
 
class Department
{
    static Department* p_department;    
private:
    string name_department;
    long id_department; 
    Course** p_course; //Error C2143 syntax error: missing ';' before '*'
                                      //Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int
                                      //Error C2238 unexpected token(s) preceding ';'   
    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);
    string get_name() const { return name_department; } 
    long get_id_department() const { return id_department; }
    int get_count_course() const { return count_course; }
    Course** get_p_course() { return p_course; } //Error C2143 syntax error: missing ';' before '*'
                                                                             //Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int
                                                                             //Error    C2238 unexpected token(s) preceding ';'
    void set_count_course(int count_course) { this->count_course = count_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& c); //Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int
                                                                                                                   //Error  C2143 syntax error: missing ',' before '&'
 
};
 
#endif
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru