In file included from ../src/switched-ethernet/model/switched-ethernet-net-device.cc:36:0:
../src/switched-ethernet/model/switched-ethernet-net-device.h:42:7: error: template argument required for ‘class Queue’
class Queue;
^~~~~
../src/switched-ethernet/model/switched-ethernet-net-device.h:113:27: error: type/value mismatch at argument 1 in template parameter list for ‘template<class T> class ns3::Ptr’
void SetQueue (Ptr<Queue> queue);
^
../src/switched-ethernet/model/switched-ethernet-net-device.h:113:27: note: expected a type, got ‘Queue’
../src/switched-ethernet/model/switched-ethernet-net-device.h:120:12: error: type/value mismatch at argument 1 in template parameter list for ‘template<class T> class ns3::Ptr’
Ptr<Queue> GetQueue (void) const;
^
../src/switched-ethernet/model/switched-ethernet-net-device.h:120:12: note: expected a type, got ‘Queue’
../src/switched-ethernet/model/switched-ethernet-net-device.h:491:12: error: type/value mismatch at argument 1 in template parameter list for ‘template<class T> class ns3::Ptr’
Ptr<Queue> m_queue;
^
../src/switched-ethernet/model/switched-ethernet-net-device.h:491:12: note: expected a type, got ‘Queue’
In file included from ../src/switched-ethernet/model/switched-ethernet-net-device.cc:37:0:
../src/switched-ethernet/model/switched-ethernet-channel.h:253:20: error: conflicting return type specified for ‘virtual uint32_t ns3::SwitchedEthernetChannel::GetNDevices() const’
virtual uint32_t GetNDevices (void) const;
^~~~~~~~~~~
In file included from ../src/switched-ethernet/model/switched-ethernet-channel.h:26:0,
from ../src/switched-ethernet/model/switched-ethernet-net-device.cc:37:
./ns3/channel.h:68:23: error: overriding ‘virtual std::size_t ns3::Channel::GetNDevices() const’
virtual std::size_t GetNDevices (void) const = 0;
^~~~~~~~~~~
../src/switched-ethernet/model/switched-ethernet-net-device.cc: In static member function ‘static ns3::TypeId ns3::SwitchedEthernetNetDevice::GetTypeId()’:
../src/switched-ethernet/model/switched-ethernet-net-device.cc:91:47: error: no matching function for call to ‘MakePointerChecker<template<class Item> class ns3::Queue>()’
MakePointerChecker<Queue> ())
^
In file included from ../src/switched-ethernet/model/switched-ethernet-net-device.cc:34:0:
./ns3/pointer.h:224:1: note: candidate: template<class T> ns3::Ptr<ns3::AttributeChecker> ns3::MakePointerChecker()
MakePointerChecker (void)
^~~~~~~~~~~~~~~~~~
./ns3/pointer.h:224:1: note: template argument deduction/substitution failed:
../src/switched-ethernet/model/switched-ethernet-net-device.cc: In member function ‘void ns3::SwitchedEthernetNetDevice::TransmitStart()’:
../src/switched-ethernet/model/switched-ethernet-net-device.cc:465:74: warning: ‘double ns3::DataRate::CalculateTxTime(uint32_t) const’ is deprecated [-Wdeprecated-declarations]
Time tEvent = Seconds (m_bps.CalculateTxTime (m_currentPkt->GetSize ()));
^
In file included from ../src/switched-ethernet/model/switched-ethernet-net-device.h:35:0,
from ../src/switched-ethernet/model/switched-ethernet-net-device.cc:36:
./ns3/data-rate.h:192:10: note: declared here
double CalculateTxTime (uint32_t bytes) const;
^~~~~~~~~~~~~~~
../src/switched-ethernet/model/switched-ethernet-net-device.cc: In member function ‘void ns3::SwitchedEthernetNetDevice::TransmitAbort()’:
../src/switched-ethernet/model/switched-ethernet-net-device.cc:503:14: error: base operand of ‘->’ is not a pointer
if (m_queue->IsEmpty ())
^~
../src/switched-ethernet/model/switched-ethernet-net-device.cc:509:29: error: base operand of ‘->’ is not a pointer
m_currentPkt = m_queue->Dequeue ();
^~
../src/switched-ethernet/model/switched-ethernet-net-device.cc: In member function ‘void ns3::SwitchedEthernetNetDevice::TransmitReadyEvent()’:
../src/switched-ethernet/model/switched-ethernet-net-device.cc:575:14: error: base operand of ‘->’ is not a pointer
if (m_queue->IsEmpty ())
^~
../src/switched-ethernet/model/switched-ethernet-net-device.cc:581:29: error: base operand of ‘->’ is not a pointer
m_currentPkt = m_queue->Dequeue ();
^~
../src/switched-ethernet/model/switched-ethernet-net-device.cc: In member function ‘bool ns3::SwitchedEthernetNetDevice::Attach(ns3::Ptr<ns3::SwitchedEthernetChannel>)’:
../src/switched-ethernet/model/switched-ethernet-net-device.cc:608:58: warning: ‘double ns3::DataRate::CalculateTxTime(uint32_t) const’ is deprecated [-Wdeprecated-declarations]
m_tInterframeGap = Seconds (m_bps.CalculateTxTime (96/8));
^
In file included from ../src/switched-ethernet/model/switched-ethernet-net-device.h:35:0,
from ../src/switched-ethernet/model/switched-ethernet-net-device.cc:36:
./ns3/data-rate.h:192:10: note: declared here
double CalculateTxTime (uint32_t bytes) const;
^~~~~~~~~~~~~~~
../src/switched-ethernet/model/switched-ethernet-net-device.cc: At global scope:
../src/switched-ethernet/model/switched-ethernet-net-device.cc:619:47: error: type/value mismatch at argument 1 in template parameter list for ‘template<class T> class ns3::Ptr’
SwitchedEthernetNetDevice::SetQueue (Ptr<Queue> q)
^
../src/switched-ethernet/model/switched-ethernet-net-device.cc:619:47: note: expected a type, got ‘Queue’
../src/switched-ethernet/model/switched-ethernet-net-device.cc:762:12: error: type/value mismatch at argument 1 in template parameter list for ‘template<class T> class ns3::Ptr’
Ptr<Queue>
^
../src/switched-ethernet/model/switched-ethernet-net-device.cc:762:12: note: expected a type, got ‘Queue’
../src/switched-ethernet/model/switched-ethernet-net-device.cc: In member function ‘virtual bool ns3::SwitchedEthernetNetDevice::SendFrom(ns3::Ptr<ns3::Packet>, const ns3::Address&, const ns3::Address&, uint16_t)’:
../src/switched-ethernet/model/switched-ethernet-net-device.cc:914:14: error: base operand of ‘->’ is not a pointer
if (m_queue->Enqueue(packet) == false)
^~
../src/switched-ethernet/model/switched-ethernet-net-device.cc:927:18: error: base operand of ‘->’ is not a pointer
if (m_queue->IsEmpty () == false)
^~
../src/switched-ethernet/model/switched-ethernet-net-device.cc:929:33: error: base operand of ‘->’ is not a pointer
m_currentPkt = m_queue->Dequeue ();
^~
In file included from ./ns3/type-id.h:24:0,
from ./ns3/object-base.h:23,
from ./ns3/chunk.h:24,
from ./ns3/header.h:24,
from ./ns3/packet.h:25,
from ./ns3/queue.h:26,
from ../src/switched-ethernet/model/switched-ethernet-net-device.cc:25:
./ns3/attribute-accessor-helper.h: In instantiation of ‘bool ns3::DoMakeAccessorHelperOne(U T::*)::MemberVariable::DoSet(T*, const V*) const [with V = ns3::PointerValue; T = ns3::SwitchedEthernetNetDevice; U = int]’:
./ns3/attribute-accessor-helper.h:293:3: required from ‘ns3::Ptr<const ns3::AttributeAccessor> ns3::DoMakeAccessorHelperOne(U T::*) [with V = ns3::PointerValue; T = ns3::SwitchedEthernetNetDevice; U = int]’
./ns3/attribute-accessor-helper.h:578:37: required from ‘ns3::Ptr<const ns3::AttributeAccessor> ns3::MakeAccessorHelper(T1) [with V = ns3::PointerValue; T1 = int ns3::SwitchedEthernetNetDevice::*]’
./ns3/pointer.h:220:1: required from ‘ns3::Ptr<const ns3::AttributeAccessor> ns3::MakePointerAccessor(T1) [with T1 = int ns3::SwitchedEthernetNetDevice::*]’
../src/switched-ethernet/model/switched-ethernet-net-device.cc:90:76: required from here
./ns3/attribute-accessor-helper.h:273:12: error: no matching function for call to ‘ns3::PointerValue::GetAccessor(ns3::AccessorTrait<int>::Result&) const’
bool ok = v->GetAccessor (tmp);
^~
In file included from ../src/switched-ethernet/model/switched-ethernet-net-device.cc:34:0:
./ns3/pointer.h:208:1: note: candidate: template<class T> bool ns3::PointerValue::GetAccessor(ns3::Ptr<T>&) const
PointerValue::GetAccessor (Ptr<T> &v) const
^~~~~~~~~~~~
./ns3/pointer.h:208:1: note: template argument deduction/substitution failed:
In file included from ./ns3/type-id.h:24:0,
from ./ns3/object-base.h:23,
from ./ns3/chunk.h:24,
from ./ns3/header.h:24,
from ./ns3/packet.h:25,
from ./ns3/queue.h:26,
from ../src/switched-ethernet/model/switched-ethernet-net-device.cc:25:
./ns3/attribute-accessor-helper.h:273:12: note: mismatched types ‘ns3::Ptr<T>’ and ‘ns3::AccessorTrait<int>::Result {aka int}’
bool ok = v->GetAccessor (tmp);
^~
./ns3/attribute-accessor-helper.h: In instantiation of ‘bool ns3::DoMakeAccessorHelperOne(U T::*)::MemberVariable::DoGet(const T*, V*) const [with V = ns3::PointerValue; T = ns3::SwitchedEthernetNetDevice; U = int]’:
../src/switched-ethernet/model/switched-ethernet-net-device.cc:990:1: required from here
./ns3/attribute-accessor-helper.h:282:7: error: no matching function for call to ‘ns3::PointerValue::Set(const int&)’
v->Set (object->*m_memberVariable);
^
In file included from ../src/switched-ethernet/model/switched-ethernet-net-device.cc:34:0:
./ns3/pointer.h:187:1: note: candidate: template<class T> void ns3::PointerValue::Set(const ns3::Ptr<T>&)
PointerValue::Set (const Ptr<T> &object)
^~~~~~~~~~~~
./ns3/pointer.h:187:1: note: template argument deduction/substitution failed:
In file included from ./ns3/type-id.h:24:0,
from ./ns3/object-base.h:23,
from ./ns3/chunk.h:24,
from ./ns3/header.h:24,
from ./ns3/packet.h:25,
from ./ns3/queue.h:26,
from ../src/switched-ethernet/model/switched-ethernet-net-device.cc:25:
./ns3/attribute-accessor-helper.h:282:7: note: mismatched types ‘const ns3::Ptr<T>’ and ‘const int’
v->Set (object->*m_memberVariable);
^
In file included from ../src/switched-ethernet/model/switched-ethernet-channel.cc:23:0:
../src/switched-ethernet/model/switched-ethernet-channel.h:253:20: error: conflicting return type specified for ‘virtual uint32_t ns3::SwitchedEthernetChannel::GetNDevices() const’
virtual uint32_t GetNDevices (void) const;
^~~~~~~~~~~
In file included from ../src/switched-ethernet/model/switched-ethernet-channel.h:26:0,
from ../src/switched-ethernet/model/switched-ethernet-channel.cc:23:
./ns3/channel.h:68:23: error: overriding ‘virtual std::size_t ns3::Channel::GetNDevices() const’
virtual std::size_t GetNDevices (void) const = 0;
^~~~~~~~~~~
In file included from ./ns3/object-base.h:23:0,
from ./ns3/object.h:29,
from ./ns3/channel.h:22,
from ../src/switched-ethernet/model/switched-ethernet-channel.h:26,
from ../src/switched-ethernet/model/switched-ethernet-channel.cc:23:
./ns3/type-id.h: In instantiation of ‘static ns3::ObjectBase* ns3::TypeId::AddConstructor()::Maker::Create() [with T = ns3::SwitchedEthernetChannel]’:
./ns3/type-id.h:659:3: required from ‘ns3::TypeId ns3::TypeId::AddConstructor() [with T = ns3::SwitchedEthernetChannel]’
../src/switched-ethernet/model/switched-ethernet-channel.cc:40:47: required from here
./ns3/type-id.h:656:27: error: invalid new-expression of abstract class type ‘ns3::SwitchedEthernetChannel’
ObjectBase * base = new T ();
^~~~~~~~
In file included from ../src/switched-ethernet/model/switched-ethernet-channel.cc:23:0:
../src/switched-ethernet/model/switched-ethernet-channel.h:79:7: note: because the following virtual functions are pure within ‘ns3::SwitchedEthernetChannel’:
class SwitchedEthernetChannel : public Channel
^~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/switched-ethernet/model/switched-ethernet-channel.h:26:0,
from ../src/switched-ethernet/model/switched-ethernet-channel.cc:23:
./ns3/channel.h:75:26: note: virtual ns3::Ptr<ns3::NetDevice> ns3::Channel::GetDevice(std::size_t) const
virtual Ptr<NetDevice> GetDevice (std::size_t i) const = 0;
^~~~~~~~~