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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.80
Stivento
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 13
27.11.2012, 20:22     Invalid conversion from `int' to `const 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
#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*)'
Как можно исправить код?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 20:22     Invalid conversion from `int' to `const char*'
Посмотрите здесь:

invalid conversion from ‘char’ to ‘const char*’ C++
20: invalid conversion from `int (*)()' to `char' C++
invalid conversion from 'const char*' to 'char' C++
ошибка error C2446: '==' : no conversion from 'const char *' to 'int' C++
Ошибка invalid conversion from 'const char*' to 'char*' C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
27.11.2012, 20:24     Invalid conversion from `int' to `const char*' #2
Цитата Сообщение от Stivento Посмотреть сообщение
strlen(ps->year)
Как вы это себе представляете?
Stivento
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 13
27.11.2012, 20:27  [ТС]     Invalid conversion from `int' to `const char*' #3
В смысле?
Извините за мое тугодумство, но я пока в этом плаваю.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
27.11.2012, 20:30     Invalid conversion from `int' to `const char*' #4
В прямом. Функция strlen предназначена для измерения длины строки в Си стиле. То есть массива типа char заканчивающийся ноль-символом. Вы же пытаетесь передать в нее указатель на int.

Добавлено через 1 минуту
Тоже самое касается и функции strcpy.
Stivento
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 13
27.11.2012, 20:38  [ТС]     Invalid conversion from `int' to `const char*' #5
Спасибо, понял, начал исправлять!
mitrofanych2
 Аватар для mitrofanych2
0 / 0 / 0
Регистрация: 22.07.2013
Сообщений: 3
07.08.2013, 14:35     Invalid conversion from `int' to `const char*' #6
Где ошибка?
C
1
2
3
4
int addToList (list* myList, int* number){
      int count = &number;
      return 1;
      }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.08.2013, 14:36     Invalid conversion from `int' to `const char*'
Еще ссылки по теме:

C++ Invalid conversion from 'char' to 'const char*'
C++ invalid conversion from ‘char**’ to ‘const char**’
Несовместимость типов данных: Error:invalid conversion from 'int' to 'const char*' C++

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

Или воспользуйтесь поиском по форуму:
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
07.08.2013, 14:36     Invalid conversion from `int' to `const char*' #7
C++
1
int count = *number;
Yandex
Объявления
07.08.2013, 14:36     Invalid conversion from `int' to `const char*'
Ответ Создать тему
Опции темы

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