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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Перегрузка операций http://www.cyberforum.ru/cpp-beginners/thread911089.html
Здравствуйте, помогите реализовать программу: Класс - множество set. Дополнительно перегрузить следующие операции: + - добавить элемент в множество (типа set+item); + - объединение множеств;= = - проверка множеств на равенство. В перегрузках вообще ничего не соображаю..
C++ В чем ошибка? лаба12.cpp(16): error C2668: pow: неоднозначный вызов перегруженной функции лаба12.cpp(24): error C2661: pow: нет перегруженной функции, принимающей 1 аргументов вроде все правильно... #include "stdafx.h" #include <conio.h> #include <iostream> #include <cmath> #include <math.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread911088.html
C++ Функция ну никак не хочет работать
Вот функция void OPEN_USER_COMMAND(System::String^ PolzCom) { System::String^ Temp = "PrgBase\\"; System::String^ Temp2 = PolzCom; char* ALL_WAY; char* PolzWay = SystemStringToChar(Temp2);
Цикл "For" C++
Добрый день. Возник такой вопрос, при разборе программы на С++("..."-прочий код): ... int main() { for(;;) { ... } ...
C++ Вычислить http://www.cyberforum.ru/cpp-beginners/thread911055.html
лаба
C++ Задача для уравнения теплопроводности Решить задачу на с++ для уравнения теплопроводности dU/dt = a2 * d2U/dx2, 0<x<l, t>0 U(x,0) = U0(x) , 0=<x=<l dU/dx = C*ea2t, x=0, -dU/dx = - C*el+a2t, x=l c=const>0, U0(x)= C*ex, a2>1 подробнее

Показать сообщение отдельно
fokse
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 65
24.06.2013, 20:34     Invalid conversion from 'char' to 'const char*'
доброго всем время суток.
при компиляции у меня выдаёт ошибку invalid conversion from 'char' to 'const char*'
знаю, что я не правильно делаю вывод функции, но никак не могу понять как правильно делать(
ошибка в 117 строчке
мысль такая: введение <...> потом пользователь вводит id, потом его спрашивают - хочет ли он сменить тему - и вот в этом то ошибка(
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#include <iostream>
#include <stdlib.h>
#include <cstring>
using namespace std;
//Создать класс «студент», имеющий: имя (указатель на строку), курс и
//номер зачётной книжки. Определить конструкторы, деструктор и
//функцию печати. Создать public-производный класс – «студент-
//дипломник», имеющий тему диплома. Определить конструкторы по
//умолчанию и с разным числом параметров, деструктор, функцию печати.
//Определить функции переназначения названия диплома и номера
//зачётной книжки.
class Student
{
protected:
    char* name;
    int course;
    int ID;
public:
    Student();
    Student(const char* pname, int pcourse, int pID);
    ~Student();
    virtual void Show() const;
};
Student::Student()
{
    cout<<"1.Constructor of student no name"<<endl;
    course=0;
    ID=0;
}
Student::Student(const char *pname, int pcourse, int pID)
{
    name= new char [strlen(pname)+1];
    strcpy(name,pname);
    course=pcourse;
    ID=pID;
}
 
void Student::Show() const
{
    cout<<"name: "<<name<<"\n"<<"Course: "<<course<<endl<<"ID: "<<ID<<endl;
}
Student::~Student()
 
{
    cout<<"deleted student"<<endl;
    name[0]='\0';
    delete []name;
}
class Diplom:public Student
{
protected:
    char *theme;
public:
    Diplom();
    Diplom(const char*pname,int pcourse, int pID);
    Diplom(const char*pname,int pcourse, int pID, const char *ptheme);
    ~Diplom();
    void setTheme(const char*ptheme);
        void setID(int pID);
    virtual void Show() const;
};
Diplom::Diplom()
{
    theme=NULL;
}
Diplom::Diplom(const char *pname, int pcourse, int pID):Student(pname,pcourse,pID)
{
    theme=NULL;
}
Diplom::Diplom(const char *pname, int pcourse, int pID, const char *ptheme):Student(pname,pcourse,pID)
{
    theme= new char[strlen(ptheme)+1];
    strcpy(theme,ptheme);
}
Diplom::~Diplom()
{
    theme[0]='\0';
    delete theme;
}
void Diplom::setID(int pID)
{
    ID=pID;
}
void Diplom::setTheme(const char *ptheme)
{
 
    delete []theme;
    theme=new char[strlen(ptheme)+1];
    strcpy(theme,ptheme);
}
void Diplom::Show() const
{
    cout<<"Name: "<<name<<"\n"<<"Course: "<<course<<endl<<"ID: "<<ID<<endl<<"Theme: "<<theme<<endl;
}
 
int main()
{
    Diplom d("Lorochka",1,1234,"Mustang");
    int a, p;
    char* f;
    d.Show();
    cout<<"do you want set id? 1 - yes, 0 - no"<<endl;
    cin>>a;
    if (a==1)
    {
        cout<<"enter id"<<endl;
        cin>>p;
        d.setID(p);
    }
 
        cout<<"Do you want set theme? 1 - yes, 0 - no"<<endl;
        cin>>a;
    if (a==1)
    {
        cout<<"enter theme"<<endl;
        cin>>*f;
        d.setTheme(*f);
    }
    d.Show();
    return 0;
}
я не совсем поняла как вводить слово в функции, там где у меня *f
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru