0 / 0 / 2
Регистрация: 24.05.2017
Сообщений: 87
1

ошибка типа при сборке

31.10.2017, 19:04. Показов 649. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
написал вот такой код
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
// ConsoleApplication29.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <vector>
#include <iostream>
#include <algorithm>
#include <map>
using namespace std;
 
class Person
{
public:
    string surname;
    string name;
    int age;
    Person(string s, string b, int a) : surname(s), name(b), age(a) {}
};
 
struct PersonSurnameComparer
{
public:
    bool operator()(Person &left, Person &right)
    {
        return right.surname > left.surname;
    }
};
 
struct PersonAgeComparer
{
public:
    bool operator()(Person &left, Person &right)
    {
        return right.age > left.age;
    }
};
class Employees
{
public:
    map <string,Person> m;
    void printSorted()
    {
 
        m["2353873"] = Person::Person(std::string s, std::string b, int a);
        m["2357123"] = Person::Person(std::string, std::string, int);
        m["7438434"] = Person::Person(std::string, std::string, int);
        m["2353773"] = Person::Person(std::string, std::string, int);
    }
};
int main()
{
    vector<Person> v = { Person("Fedorov","ivan",22), Person("Ivanov","alex",23), Person("Petrov","fedor",45), Person("Petrov","andrey",44),Person("Petriv","Sasha",24) };
    //vector<Person> b= {Person(22), Person(34), Person(21), Person(28)};
    PersonSurnameComparer comp;
    sort(v.begin(), v.end(), comp);
 
    PersonAgeComparer comp2;
    sort(v.begin(), v.end(), comp2);
 
    for (int i = 0; i < (int)v.size(); i++)
        std::cout << v[i].age << " ";
}
вот в этой части выдает ошибки
C++
1
2
3
4
5
6
7
8
9
10
11
12
class Employees
{
public:
    map <string,Person> m;
    void printSorted()
    {
 
        m["2353873"] = Person::Person((std::string, std::string, int);
        m["2357123"] = Person::Person(std::string, std::string, int);
        m["7438434"] = Person::Person(std::string, std::string, int);
        m["2353773"] = Person::Person(std::string, std::string, int);
    }
помогите поправить.
вообще void printSorted() должен вывести инфу о сотрудниках, отсортированных по фамилии,как это сделать я знаю,не могу понять почему ошибки,передаю вроде все верно
Миниатюры
ошибка типа при сборке  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2017, 19:04
Ответы с готовыми решениями:

Реализовать через тип данных структура. При сборке и отладки возникает ошибка. В чем ошибка?
С++ в таблице из 5 строк хранятся данные о товарах: наименование, цена, количество. Определить и...

Ошибка при сборке
Здравствуйте. Пытаюсь скомпилировать https://github.com/fireice-uk/xmr-stak-cpu в Code Blocks....

Ошибка при сборке C4706
ругается на часть кода (на сравнение): inline bool operator == (MyPoint a) { return ((a.XX...

Ошибка при сборке приложения
в параметрах уже отмечала,что не нужно обрабатывать предупреждения как ошибки. все равно выдается...

12
1467 / 1008 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
31.10.2017, 19:06 2
C++
1
m["2353873"] = Person::Person((std::string, std::string, int);
Зачем две скобки?
0
0 / 0 / 2
Регистрация: 24.05.2017
Сообщений: 87
31.10.2017, 19:59  [ТС] 3
Цитата Сообщение от QuakerRUS Посмотреть сообщение
C++
1
m["2353873"] = Person::Person((std::string, std::string, int);
Зачем две скобки?
опечатка по факту вот так выглядит все
C++
1
m["2353873"] =Person::Person(std::string s, std::string b, int a);
0
7802 / 6567 / 2987
Регистрация: 14.04.2014
Сообщений: 28,706
31.10.2017, 20:32 4
Типы убери оттуда.
0
4066 / 3319 / 925
Регистрация: 25.03.2012
Сообщений: 12,496
Записей в блоге: 1
31.10.2017, 21:29 5
Цитата Сообщение от nmcf Посмотреть сообщение
Типы убери оттуда.
ога, и не забудь вместо них конкретные значения имён и.т.д. поставить.
0
0 / 0 / 2
Регистрация: 24.05.2017
Сообщений: 87
31.10.2017, 23:57  [ТС] 6
Цитата Сообщение от nmcf Посмотреть сообщение
Типы убери оттуда.
типы убрал теперь ругается что идентификатор не определен
хотя тут все верно
C++
1
Person(string s, string b, int a) : surname(s), name(b), age(a) {}
Миниатюры
ошибка типа при сборке  
0
4066 / 3319 / 925
Регистрация: 25.03.2012
Сообщений: 12,496
Записей в блоге: 1
01.11.2017, 00:03 7
alex14058, вы вообще понимаете смысл того, что пишите? Или наобум ставите буквы в скобочки "s, b, a, x, y, z..."?
0
0 / 0 / 2
Регистрация: 24.05.2017
Сообщений: 87
01.11.2017, 00:43  [ТС] 8
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
alex14058, вы вообще понимаете смысл того, что пишите? Или наобум ставите буквы в скобочки "s, b, a, x, y, z..."?
s это string surname;
b это string name;
а это int age;
0
4066 / 3319 / 925
Регистрация: 25.03.2012
Сообщений: 12,496
Записей в блоге: 1
01.11.2017, 00:47 9
Ты хочешь сказать, что если бы я написал
Person::Person(x,y,zzzzz)
Было бы неправильно?
0
0 / 0 / 2
Регистрация: 24.05.2017
Сообщений: 87
01.11.2017, 01:31  [ТС] 10
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Ты хочешь сказать, что если бы я написал
Person::Person(x,y,zzzzz)
Было бы неправильно?
думаю что правильно.
я тему и создал потому что не знаю как правильно,знал бы просто сделал бы и не спрашивал.
если можете ответить на мой вопрос и сказать как будет правильно и в чем ошибка,буду благодарен.
0
7802 / 6567 / 2987
Регистрация: 14.04.2014
Сообщений: 28,706
01.11.2017, 09:30 11
Там должны быть значения или переменные, которые существуют. Типа такого:
C++
1
m["2353873"] = Person::Person("Fedorov", "Ivan", 22);
0
0 / 0 / 2
Регистрация: 24.05.2017
Сообщений: 87
02.11.2017, 02:49  [ТС] 12
Цитата Сообщение от nmcf Посмотреть сообщение
Там должны быть значения или переменные, которые существуют. Типа такого:
C++
1
m["2353873"] = Person::Person("Fedorov", "Ivan", 22);
спасибо,я уже тоже это понял
я так понял что эта часть кода не имеет смысла vector<Person> v = { Person("Fedorov","ivan",22), Person("Ivanov","alex",23), Person("Petrov","fedor",45), Person("Petrov","andrey",44),Person("Petriv","Sasha",24) }; ???
я просто почему то думал map <string,Person> m; я заполняю пару Person в map как раз через эту строку кода в main
C++
1
vector<Person> v = { Person("Fedorov","ivan",22), Person("Ivanov","alex",23), Person("Petrov","fedor",45), Person("Petrov","andrey",44),Person("Petriv","Sasha",24) };
Добавлено через 9 часов 9 минут
хотелось бы что бы Person наполнялся через вектор
и по идее все верно
C++
1
vector<Person> v = { Person("Fedorov","ivan",22), Person("Ivanov","alex",23), Person("Petrov","fedor",45), Person("Petrov","andrey",44),Person("Petriv","Sasha",24) }
почему ругается на Серьезность Код Описание Проект Файл Строка Suppression State
Ошибка C2065 s: необъявленный идентификатор ConsoleApplication30 c:\users\1\documents\visual studio 2017\projects\consoleapplication30\consoleapplication30\consoleapplication30.cpp 47
и тд не пойму
0
7802 / 6567 / 2987
Регистрация: 14.04.2014
Сообщений: 28,706
02.11.2017, 08:53 13
Яснее излагай. Ты хочешь элементы v использовать при заполнении map или что?
0
02.11.2017, 08:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2017, 08:53
Помогаю со студенческими работами здесь

Ошибка при сборке командой Make
Пытаюсь запустить сервер этот https://github.com/nagalun/worldofpixels-server Запустил Makefile в...

Ошибка при сборке библиотеки MinGW
Добрый день, уважаемые форумчани. Пытаюсь создать проект по этой инструкции....

Ошибка LNK2019 при сборке проекта.
В проект включена статическая библиотека, методами классов которой нужно воспользоваться. Итак:...

Ошибка на компиляторе MinGW при сборке структуры
Помогите, пожалуйста, не знаю что делать. Вот такой простенький код struct abc { int a; ...

Ошибка multiple definition при сборке в QT Creator
Через консоль (c помощью g++) программа компилируется и запускается без ошибок В QT Creator не...

Ошибка при сборке перегруженной шаблонной функции
Привет Есть перегруженная шаблонная функция с приведением типов. Перегрузка состоит в вариантах...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru