1

次のようなidlファイルで定義された関数に配列またはシーケンスを追加しようとしている間

  // BackupDaemon.idl

  interface BackupDaemon;

  #ifndef BackupDaemon_idl
  #define BackupDaemon_idl

 typedef sequence<BackupDaemon> BackupDaemonList;

 #include "BackupExceptions.idl"


 interface BackupDaemon {



     boolean startBackup(in sequence<string> backupPathes ,in string backupDaemonMacAddress);

 };

 #endif 

次のエラーが発生しました:-

Expected one of `float' `double' `long' `short' `un
signed' `char' `wchar' `boolean' `octet' `any' `string' `wstring' `<identifier>'
 `::' `ValueBase'; encountered `sequence'.
     boolean startBackup(in sequence<string> backupPathes ,in string backupDaemo
nMacAddress);

では、配列またはシーケンスを idl ファイルで定義された関数に渡すにはどうすればよいですか? 前もって感謝します。^

4

1 に答える 1

2

シーケンスを CORBA 操作で直接使用することはできません。typedef最初にそれらを実行する必要があります:

typedef sequence<string> BackupPathesStrings;

interface BackupDaemon {
     boolean startBackup(in BackupPathesStrings backupPathes, in string backupDaemonMacAddress);
 };

参照:シーケンスと配列

于 2012-11-25T18:23:24.177 に答える