невозможно преобразовать 'DATA_UNIT :: getc1' из типа 'char (DATA_UNIT ::) ()' в тип 'char'

0
char getc1(){return this->c1;}

Я получил этот метод как получить

DATA_UNIT::DATA_UNIT(const DATA_UNIT& Clone)
{
this->c1=Clone.getc1;
this->c2=Clone.getc2;
this->c3=Clone.getc3;
}

После использования я получаю эту ошибку:

cannot convert 'DATA_UNIT::getc1' from type 'char (DATA_UNIT::)()' to type 'char'
  • 1
    get1c - это функция, поэтому вам нужно get1c()
  • 0
    Если ваш конструктор копирования просто копирует каждый элемент, вам не нужно его предоставлять. Генерируется автоматически.
Показать ещё 8 комментариев
Теги:
codeblocks

1 ответ

2

С исходным кодом очевидно, что getcN - это методы, поэтому вы должны их вызвать, чтобы получить символы, что именно то, что говорит вам ошибка: "Невозможно преобразовать что-то, что принимает аргументы в char".

Кроме того, как уже отмечалось в комментариях, нет никакого использования при использовании this-> c1 для доступа к члену. Просто c1 будет делать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню