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

Параметр в конструкторе копирования - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дан массив A(n,n). Найти сумму всех его элементов, расположенных выше диагонали, противоположной главной http://www.cyberforum.ru/cpp-beginners/thread784000.html
Дан массив A(n,n). Найти сумму всех его элементов, расположенных выше диагонали, противоположной главной.
C++ Нужен совет! Народ вот у меня вопрос если я прочитаю книгу "Программирование. Принцыпы и практика использования C++" и кое что не пойму то стоит ли браться за книгу "Язык программирования C++" ? http://www.cyberforum.ru/cpp-beginners/thread783999.html
C++ Текстовые файлы (На основе таблицы, содержащей данные об услугах, оказываемых компьютерной фирмой написать программу)
Само задание: На основе таблицы, содержащей данные об услугах, оказываемых компьютерной фирмой (название услуги, её стоимость, налог на добавленную стоимость(6%), срок выполнения) написать программу, которая вводит эту информацию и печатает следующие данные: таблицу, расположив названия услуг в порядке неубывания их срока выполнения. (Т.е. файл с входными данными имеет вид | услуга | стоимость...
C++ двухмерные массивы (Сформулировать вектор)
Дан массив А(n,n).Сформулировать вектор B(k) из a(i,j)<0. На печать вывести исходный массив, полученный вектор и его размерность.
C++ Матрица. Заменить нулями все ее элементы, расположенные на главной диагонали и выше ее http://www.cyberforum.ru/cpp-beginners/thread783956.html
2. Дана действительная квадратная матрица порядка 6. Заменить нулями все ее элементы, расположенные на главной диагонали и выше ее. Заранее благодарен!
C++ Найти сумму всех элементов матрицы, расположенных ниже главной диагонали Дан массив A(n,n) найти сумму всех его элементов, расположенных ниже главной диагонали Название темы должно отражать ее суть подробнее

Показать сообщение отдельно
MAnton
 Аватар для MAnton
23 / 23 / 1
Регистрация: 21.04.2011
Сообщений: 139
11.02.2013, 17:16     Параметр в конструкторе копирования
Есть класс
C++
1
2
3
4
5
6
class CMatrix{
  valarray<valarray<double> > matrix;
public:
  CMatrix(const CMatrix &M);
     .....
 };
C++
1
2
3
4
5
6
7
8
9
CMatrix::CMatrix(const CMatrix &M){
  pair<size_t,size_t> s = M.Size();
  matrix.resize(s.first);
  for(size_t i = 0 ; i < s.first ; i++)
    matrix[i].resize(s.second);
  for(size_t i = 0; i < s.first; i++)
    for(size_t j = 0 ; j < s.second ; j++)
      matrix[i][j] = M(i,j);
}
Вы дает ошибку:
In copy constructor «CMatrix::CMatrix(const CMatrix&)»:
/home/anton/Project/C++/Matrix/src/CMatrix.cpp:11:34: ошибка: passing «const CMatrix» as «this» argument of «std::pair<long unsigned int, long unsigned int> CMatrix::Size()» discards qualifiers [-fpermissive]
/home/anton/Project/C++/Matrix/src/CMatrix.cpp:17:27: ошибка: passing «const CMatrix» as «this» argument of «double& CMatrix::operator()(int, int)» discards qualifiers [-fpermissive]

Если убрать модификатор const то все работает нормально. В чем проблема?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru