将'const <class>'传递为'this' - 从引用的向量</class>中分配值

时间:2014-03-05 03:47:38

标签: c++ vector iterator

我有以下代码:

typedef map<int,Node, less<int> >::const_iterator TopologyIter;
iter->second.connection = myConnection->newConnections.back();

connection这里只是一个结构:

#pragma once

#include <sys/socket.h>
#include <arpa/inet.h>
struct NodeConnection
{
    int fd;
    socklen_t sin_size;
    struct sockaddr_storage theirAddress; 
    char ipstr[INET6_ADDRSTRLEN];
    int port;
};

newConnections是一个向量:

vector<NodeConnection> newConnections;

NodeConnection是一个tcp类(没什么特别的)

我收到了以下错误:

manager.cpp:92:28: error: passing ‘const NodeConnection’ as ‘this’ argument  
of ‘NodeConnection& NodeConnection::operator=(const NodeConnection&)’ discards 
qualifiers [-fpermissive] iter->second.connection = myConnection->newConnections.back();

如果需要,我非常乐意发布更多代码。我只是不想用一堵不必要的文字进行轰炸。

0 个答案:

没有答案