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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.80
Stivento
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 17
#1

Invalid conversion from `int' to `const char*' - C++

27.11.2012, 20:22. Просмотров 2763. Ответов 6
Метки нет (Все метки)

Здравствуйте.Возникла проблема с типами данных, пытался решить - стало хуже...
Вот сам код:

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
#include <iostream>
#include <cstring>
#include <fstream>
using namespace std;
 
struct dannie
{
       char name[50];
       char familia[50];
       int year;
       int mounth;
       int day;
       char city[50];
       char country[50];
};
char *pname;
char *pfam ;
char *pcity ;
char *pcountry;
int *pyear;
int *pmounth;
int *pday;
 
char memory();
int main()
{
    
    memory();
    cout << "\n\n\nName: " << *pname << "\nFamily name : " << *pfam << "\nYear/Mounth/Day : " << *pyear << "/" 
         << *pmounth << "/" << *pday << "\nCountry : " << *pcountry << "\nCity : " << *pcity << "\n";
    cin.get();
    cin.get();
    return 0;
 
}   
char memory()
{
    dannie *ps = new dannie;
    cout << "Enter your name\n";
    cin >> ps->name;
    cout << "\nEnter your family name\n";
    cin >> ps->familia;
    cout << "\nEnter your birth day (year[Enter]mounth[Enter]day[Enter])\n";
    cin >> ps->year;
    cin >> ps->mounth;
    cin >> ps->day;
    cout << "\nCountry\n";
    cin >> ps->country;
    cout << " City\n";
    cin >> ps->city;
    
    pname = new char[strlen(ps->name) + 1];
    pfam = new char [strlen(ps->familia) + 1];
    pcity = new char[strlen(ps->city) + 1];
    pcountry = new char[strlen(ps->country) + 1];
    pyear = new int[strlen(ps->year) + 1];
    pmounth = new int[strlen(ps->mounth) + 1];
    pday = new int[strlen(ps->day) + 1];
    
    strcpy(pname, ps->name);
    strcpy(pfam, ps->familia);
    strcpy(pcity, ps->city);
    strcpy(pcountry, ps->country);
    strcpy(pyear, ps->year);
    strcpy(pmounth, ps->mounth);
    strcpy(pday, ps->day);
    return 0;
    
}
А вот ошибки которые выдает компилятор:
56 invalid conversion from `int' to `const char*'
56 initializing argument 1 of `size_t strlen(const char*)'
57 invalid conversion from `int' to `const char*'
57 initializing argument 1 of `size_t strlen(const char*)'
58 invalid conversion from `int' to `const char*'
58 initializing argument 1 of `size_t strlen(const char*)'
64 cannot convert `int*' to `char*' for argument `1' to `char* strcpy(char*, const char*)'
65 cannot convert `int*' to `char*' for argument `1' to `char* strcpy(char*, const char*)'
66 cannot convert `int*' to `char*' for argument `1' to `char* strcpy(char*, const char*)'
Как можно исправить код?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 20:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Invalid conversion from `int' to `const char*' (C++):

Несовместимость типов данных: Error:invalid conversion from 'int' to 'const char*' - C++
Код для ардуинки. #include &lt;VirtualWire.h&gt; const int led_pin = 13; const int transmit_pin = 12; void setup() { ...

Работа со строками - Invalid conversion from 'char' to 'const char*' - C++
#include &lt;iostream&gt; #include &lt;ctype.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; using namespace std; void poisk(int n, char...

[Ошибка] invalid conversion from 'const char*' to 'char*' [-fpermissive] - C++
Решал задачи сам по себе, наткнулся на очень интересную. Вот сама задача: Вы оператор пуска ракет на ядерном подводном ...

Ошибка invalid conversion from 'const char*' to 'char*' - C++
Я в С++ новенький. Поэтому опыта еще нет, да и знаний мало. ПОдскажите пожалуйста, чего вылетает ошибка invalid conversion from 'const...

Invalid conversion from 'const char*' to 'char' - C++
Здравствуйте. Смысл нижеприведенного кода - сосчитать количество запятых и точек во вводимом тексте. Редкостный быдлокод, неудивительно,...

Invalid conversion from ‘char’ to ‘const char*’ - C++
void checkFlag(int currArg, char argv, int msg_size){ if (strcmp(argv, &quot;-s&quot;) == 0) if ((msg_size = atoi(argv)) == 0) exitMe(); ...

6
Toshkarik
1147 / 864 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
27.11.2012, 20:24 #2
Цитата Сообщение от Stivento Посмотреть сообщение
strlen(ps->year)
Как вы это себе представляете?
0
Stivento
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 17
27.11.2012, 20:27  [ТС] #3
В смысле?
Извините за мое тугодумство, но я пока в этом плаваю.
0
Toshkarik
1147 / 864 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
27.11.2012, 20:30 #4
В прямом. Функция strlen предназначена для измерения длины строки в Си стиле. То есть массива типа char заканчивающийся ноль-символом. Вы же пытаетесь передать в нее указатель на int.

Добавлено через 1 минуту
Тоже самое касается и функции strcpy.
1
Stivento
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 17
27.11.2012, 20:38  [ТС] #5
Спасибо, понял, начал исправлять!
0
mitrofanych2
0 / 0 / 0
Регистрация: 22.07.2013
Сообщений: 3
07.08.2013, 14:35 #6
Где ошибка?
C
1
2
3
4
int addToList (list* myList, int* number){
      int count = &number;
      return 1;
      }
0
Jupiter
Каратель
Эксперт С++
6561 / 3982 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
07.08.2013, 14:36 #7
C++
1
int count = *number;
0
07.08.2013, 14:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.08.2013, 14:36
Привет! Вот еще темы с ответами:

Invalid conversion from 'char' to 'const char*' - C++
доброго всем время суток. при компиляции у меня выдаёт ошибку invalid conversion from 'char' to 'const char*' знаю, что я не правильно...

Invalid conversion from ‘char**’ to ‘const char**’ - C++
Почему так? void deal(const int , const char *, const char *); int main() { char *suit = {&quot;Черви&quot;, &quot;Бубны&quot;, &quot;Трефы&quot;, &quot;Пики&quot;}; ...

20: invalid conversion from `int (*)()' to `char' - C++
помогите исправит ошибку-20: invalid conversion from `int (*)()' to `char' #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace...

Ошибка error C2446: '==' : no conversion from 'const char *' to 'int' - C++
#include &lt;iostream&gt; using namespace std; int main () { int a,b; char op; int res; cout &lt;&lt; &quot;write constant and sing&quot;; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.