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

Error C2440 невозможно преобразовать char в char - C++

Восстановить пароль Регистрация
 
Visualkibergop
0 / 0 / 0
Регистрация: 01.12.2013
Сообщений: 35
05.04.2014, 20:19     Error C2440 невозможно преобразовать char в char #1
двунаправленный список
помогите разобраться с ошибкой

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <conio.h>
 
struct list2
{ char name_nach[20];
  char name_konech[20];
  int nomer;
  list2 * next;
  list2 * pred;
};
 
list2 * insert_list(char name_nach [20],char name_konech[20], int nomer, list2 **tail);
// добавление данных в список
void print_list( list2 * tail); // печать списка
 
void main()
{  list2 * tail; // голова списка
   tail = NULL;  // инициализация хвоста списка
   int nomer;  //переменная для ввода целого числа
   char name_nach[20];
   char name_konech[20];
   int ans=9; //  переменная для ввода команды
 
while (ans)   // цикл меню
{   system ("cls");  // очистка экрана
    cout<<"1 - insertion in list, 2 - print list"<<endl;
    cout << endl<<"Enter command number: ";   
// приглашение ввода номера команды
    cin>>ans;        // читаем номер команды
switch(ans)
{ case 1: cout <<"It is insertion in list.   "<<endl;   // вводим данные
        cout <<"Enter name nachalnogo : "; cin >>name_nach;
//вводить в строку 
        cout <<"Enter name konechnogo: "; cin >>name_konech;
        cout <<"Enter nomer: "; cin >>nomer;
        tail = insert_list(name_nach,name_konech,nomer,&tail); 
        // вызываем функцию добавления данных в список
 
  case 2: cout <<"It is print.   "<<endl<<endl; // печать списка
            if (!tail) cout<<"No data!";        
 // если список пустой, печатаем No data!
            else  print_list (tail);     
 // иначе вызываем функцию печати списка
            break;
default : cout <<"Bad number"<<endl;  // если введена неправильная цифра
    } // конец switch
    _getch();              // чтение символа, задержка экрана
}  //  конец while
delete_list(&tail);   
// Очищаем динамическую память и  удаляем список перед завершением программы.
}
 
list2 * insert_list(char name_nach[20],char name_konech[20],int nomer, list2 **tail)
// добавление в голову списка
{ list2 * padd = new list2;
   strcpy(padd ->name_nach, name_nach); // библиотечная функция копирования строк
   padd->name_konech = name_konech;
   padd->nomer = nomer;
   if ((*tail) == 0) // если список не существует, создаем первый элемент
   { padd->next = 0;
     padd->pred = 0;
   }
   else        // иначе добавляем новый элемент в голову списка
   { padd->next = *tail;
     padd->pred = 0;
     (*tail)->pred = padd;
   }
     *tail = padd;
   return *tail;
}
 
void print_list( list2 * tail) // печать списка
{ list2 * pcurr = tail;
 while (pcurr)
 {cout << pcurr ->name_nach<<",  "<< pcurr->name_konech<<",  "<< pcurr->nomer<<endl;
  pcurr = pcurr ->next; 
 }
}
void delete_list (list2 ** tail)
// удаляем список целиком, элементы удаляются всегда из головы списка
{ list2 * pcurr = *tail;  
  while (pcurr)
  { *tail = pcurr ->next;
    delete pcurr;
    pcurr=*tail;
  }
}
ругается на padd в этой строке:
C++
1
2
3
4
5
6
7
8
{ list2 * padd = new list2;
   strcpy(padd ->name_nach, name_nach); // библиотечная функция копирования строк
   padd->name_konech = name_konech; // [B]тут ругается![/B]
   padd->nomer = nomer;
   if ((*tail) == 0) // если список не существует, создаем первый элемент
   { padd->next = 0;
     padd->pred = 0;
   }
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2014, 20:19     Error C2440 невозможно преобразовать char в char
Посмотрите здесь:

C++ невозможно преобразовать из char в const char
Ошибка 6 error C2664: strtok: невозможно преобразовать параметр 1 из "const char *" в "char *" C++
error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]" C++
C++ Error C2440 невозможно преобразовать "void *" в "char *
error C2664: strcmp: невозможно преобразовать параметр 1 из "char (*)[20]" в "const char *" C++
C++ Невозможно преобразовать char* в char
невозможно преобразовать параметр 1 из 'char' в 'const char *' C++
C++ Error C2440: =: невозможно преобразовать 'std::string' в 'double'

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,047
05.04.2014, 20:23     Error C2440 невозможно преобразовать char в char #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Visualkibergop Посмотреть сообщение
padd->name_konech = name_konech;
так строки не копируются
причем строчкой выше сам скопировал правильно строку
Цитата Сообщение от Visualkibergop Посмотреть сообщение
strcpy(padd ->name_nach, name_nach); // библиотечная функция копирования строк
Visualkibergop
0 / 0 / 0
Регистрация: 01.12.2013
Сообщений: 35
05.04.2014, 20:32  [ТС]     Error C2440 невозможно преобразовать char в char #3
блин,во я невнимательный, точно!
Yandex
Объявления
05.04.2014, 20:32     Error C2440 невозможно преобразовать char в char
Ответ Создать тему
Опции темы

Текущее время: 21:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru