Я пытаюсь реализовать простой сценарий для протокола LEACH, но получаю следующую ошибку:
Creating Sensors ...
invalid command name "Agent/LeachAgent"
while executing
"Agent/LeachAgent create _o2340 "
invoked from within
"catch "$className create $o $args" msg"
invoked from within
"if [catch "$className create $o $args" msg] {
if [string match "__FAILED_SHADOW_OBJECT_" $msg] {
delete $o
return ""
}
global errorInfo
error "class $..."
(procedure "new" line 3)
invoked from within
"new Agent/LeachAgent"
("for" body line 3)
invoked from within
"for {set i 1} {$i <= $val(nsn)} {incr i} {
set agent($i) [new Agent/LeachAgent]
$ns attach-agent $node_($i) $agent($i)
$agent($i) set packetSize_..."
(file "newleach3.tcl" line 187)
Я использую ubuntu 16.04
и ns-allinone-2.35
. когда я впервые запустил свой файл tcl
, я не получил эту ошибку.
new
иcreate
указывают на создание экземпляра класса OTcl. Имя командыAgent/LeachAgent
также является именем класса. Отсюда правильный вопрос Гленна. Оказывается,Agent/LeachAgent
не существует. Смотрите мой ответ. - person mrcalvin   schedule 31.07.2018