75 / 59 / 31
Регистрация: 20.03.2017
Сообщений: 351
1

Как качестве параметра в map использовать класс со структурой?

25.09.2017, 11:24. Показов 553. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как качестве параметра в map использовать класс со структурой содержащей переменные атоmic<int>?
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
#include <iostream>
#include <fstream>
#include <cstring>
#include <map>
#include <atomic>
 
using namespace std;
 
#define MAX_LEN_IP 15
#define SIZE_BUFF 1024
#define PRINTF(str) cout << "Str: " << str << endl;
 
class CTarget
{
    struct sSettings
    {
        char Ip[MAX_LEN_IP];
        int Port;
        atomic<int> Head;
        atomic<int> Tail;
        atomic<int> freeSize;
        sSettings()
        {
            memset(Ip, 0, MAX_LEN_IP);
            Port = -1;
            //Head = -1; Tail = -1; freeSize = SIZE_BUFF;
 
            Head = ATOMIC_VAR_INIT(0);
            Tail = ATOMIC_VAR_INIT(0);
            freeSize = ATOMIC_VAR_INIT(SIZE_BUFF);
        }
    };
 
public:
    void setIp(char * IP){
        memcpy(&m_setting.Ip, IP, strlen(IP));
    }
    void setPort(int port){
        m_setting.Port = port;
    }
 
private:
    sSettings m_setting;
};
 
int main(int argc, char *argv[])
{
 
    map <int, CTarget> m_target;
 
    CTarget target;
    target.setIp((char*)"172.20.3.123");
    target.setPort(5150);
 
    m_target.insert(pair<int, CTarget>(0, target));
 
    string str = "Ku!";
    PRINTF(str);
 
 
    return 0;
}
При таком использовании вываливаются ошибки:
1. use of deleted function 'CTarget::CTarget(const CTarget&)': first(std::forward<_U1>(__x)), second(__y) { }
2. use of deleted function 'CTarget::sSettings::sSettings(const CTarget::sSettings&)'
3. use of deleted function 'std::atomic<int>::atomic(const std::atomic<int>&)'
4. no matching function for call to 'std::map<int, CTarget>::insert(std:air<int, CTarget>)' m_target.insert(pair<int, CTarget>(0, target));

и т.д.

Добавлено через 50 минут
Можно удалять.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2017, 11:24
Ответы с готовыми решениями:

функция со структурой в качестве параметра
Народ, а как можно сделать следующее: есть структура, скажем: typedef struct my_struct { u08 a;...

Map с функциями: Как использовать функции в качестве объектов
Создал map, в котором по знаку операции( '^' к примеру) ищется бинарная операция. Вот код. ...

Как правильно использовать массив в качестве параметра функции ?
Здравствуйте ! Подскажите, пожалуйста правильный синтаксис описания функции, в качестве параметра...

Как в getExtra использовать стринговую переменную в качестве параметра?
Имею: Button button1 = (Button)findViewById(R.id.buttonone); ...

0
25.09.2017, 11:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2017, 11:24
Помогаю со студенческими работами здесь

Зачем в качестве параметра передавать null и потом использовать его как массив?
Я встретил такой код и он УБИЛ МЕНЯ НАПОВАЛ(: public static function getCellsWeight($kpW,...

Как сделать generic класс, который будет принимать в качестве параметра только числа и уметь их складывать и т.д?
Я хочу написать класс дерева отрезков в который можно передавать любые числа, однако даже T extends...

Использовать имя таблицы в качестве параметра триггерной функции
Добрый день всем, есть такая задача: Имеем 3 таблицы: group1(id serial, name1 text), prod(id...

Можно ли использовать юнит в качестве входного параметра для функции
В проекте есть n-ное количество unit'ов, причем с разными названиями, но в каждом юните есть...


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

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

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