Учу С++. Дошел до классов. Не получается запустить код: выбивает ошибки C2440 и E0513.
Проблему выдает в строке 16 Test::Test() {age = 0; name="";}
Если необходимо, то вот целый код:
#include <iostream>
#include <cstdlib>
using namespace std;
class Test
{
private:
int age;
char* name;
public:
Test();
void printDATA();
void inputDATA();
};
Test::Test() {age = 0; name="";}
void Test::printDATA()
{
cout << "Age: " << age << " Name: " << name;
}
void Test::inputDATA()
{
cout << "Input ur age: " << endl;
cin >> age;
cout << "Input ur name: " << endl;
cin.getline(name, 256, ';');
}
int main()
{
setlocale (LC_ALL, "rus");
Test T;
cout << "Тестовая программа" << endl;
T.inputDATA();
T.printDATA();
system("pause");
return 0;
}
У вас в name
тип char*
, а литералы строк это const char*
.
Для строк лучше используйте тип string
.
Я подправил в двух местах код, чтобы с string
работало.
Попробуйте:
#include <iostream>
#include <cstdlib>
using namespace std;
class Test
{
private:
int age;
string name;
// ^^^^^^^
public:
Test();
void printDATA();
void inputDATA();
};
Test::Test() {age = 0; name="";}
void Test::printDATA()
{
cout << "Age: " << age << " Name: " << name;
}
void Test::inputDATA()
{
cout << "Input ur age: " << endl;
cin >> age;
cout << "Input ur name: " << endl;
getline(std::cin, name, ';');
// ^^^^^^^
// cin >> name;
}
int main()
{
setlocale (LC_ALL, "rus");
Test T;
cout << "Тестовая программа" << endl;
T.inputDATA();
T.printDATA();
system("pause");
return 0;
}
char* name;
const char* name;
Ну или разбирайся с выделением памяти и strcpy.
Создал onion-сайт, но переменная $_SERVER не отображает ничего полезногоМне кажется, можно как-то получить информацию о цепочке, её IP и т
Подскажите, пожалуйста, как должно выглядеть регулярное выражение для проверки имени пользователя, которое не должно начинаться с цифры...
Всем привет! Как при отправке ajax запроса, либо при его получении обработчиком изменить формат даты? input type="date" принимает дату в формате...