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

operator = - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разбиение текста по страницам http://www.cyberforum.ru/cpp-beginners/thread14231.html
#include <stdio.h> int main(int argc,char *argv) { char buf; int c=0; FILE *in; in=fopen(argv,"rb"); while(fgets(buf,79,in)!=NULL) { if(c>9)
C++ Поменять строки матрицы местами Всем привет. Учусь на первом курсе, по информатике задали задачу: Составить алгоритм: Поменять в матрице(массиве) строку с наибольшим количеством нулевых элементов со строкой с наименьшим... http://www.cyberforum.ru/cpp-beginners/thread14218.html
C++ компилятор ругается помогите
Недавно взялся за изучение С++ забил программку а запускаться не хочет #include <iostream> #include <string> struct node { int value; node *next;
Строки+ООП=жесть? C++
Я, наверное, зря начал освоение ООПа с C++, да еще и с работ со строками, но тем не менее уже дело чести, по-моему, добить данную программу. Листинг программы и ошибок выдаю ниже. Помогите, кто чем...
C++ Найти сумму элементов массива, равных среднему арифметическому всех элементов массива http://www.cyberforum.ru/cpp-beginners/thread14187.html
здравствуйте я студентка первого курса и мы изучаем С и С++ работам в борланде моя задача,над которой я бьюсь, на одномерный массив задача:найти сумму элементов массива,равных среднему...
C++ Построение графика функций Спасибо всем заранее,кто откликнулся!!! С чего начинать и чем заканчивать (в общем случае) построение графиков в С++. Dev c++ 4.9 Если это не очень сложно и ли нудно помогите с лабораторкой:сама... подробнее

Показать сообщение отдельно
Жестянка
сцуко киборг
103 / 30 / 2
Регистрация: 11.09.2008
Сообщений: 193

operator = - C++

18.10.2008, 22:52. Просмотров 1487. Ответов 19
Метки (Все метки)

Посмотрите, пожалуйста, ато я саафсем запарилась... %)

Проблема такая: есть класс, у которого есть функция присваивания:
Код
class Setuation 
{
public:
Setuation(int Rec=0) // конструктор
        {
        Receptors=Rec;
        m=new int [Receptors];
        for(int i=0;i<Receptors;i++)
                {
                m[i]=0;
                }
        }

...

Setuation & operator=(Setuation &Sn) // функция присваивания
{
if(this != &Sn)
        {
        delete [] m;
        Receptors=Sn.ItsLong();
        m=new int [Receptors];
        for(int i=0;i<Receptors;i++)
                {
                m[i]=Sn(i);
                }
        }
return *this;
}
private:
int Receptors;
int *m;
};
В основной ещё есть функция, возвращающая объект этого класса:

Код
Setuation  InpFromBoard()
{
Setuation S(9);

...

return S;}
если в основной проге пытаться написать:

Код
Setuation S(9);
S=InpFromBoard();
компелер выдает:
Код
[C++ Error] IndXO.cpp(43): E2285 Could not find a match for 'Setuation::operator =(Setuation)'
если обратиться:

Код
S.operator =(InpFromBoard());
компелит с предупреждением:
Код
[C++ Warning] IndXO.cpp(58): W8030 Temporary used for parameter 'Sn' in call to 'Setuation::operator =(Setuation &)'
при этом функция так и не вызывается.

Подозреваю, что дело в сцылке, но что именно не так понять не могу...
Вопщем: %)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.