c++ - swig warning message with vector.i and vector of classes -
I use swig to wrap Ruby code to C ++ classes. Some of my classes return std: vector
to other classes, so I use std_vector.i
for this.
% include "std_vector i" namespace study {% template (vector string) vector & lt; String & gt; % Template (vector-field) vector & lt; Truckborough :: Field & gt ;; % Template (vector structure) vector & lt; Truckborough :: Structure & gt; % Templates (vectornem) vector & lt; Truckborough :: Enem; }
Enum and composition for classes I have such warnings:
parser.cpp: 2781: 9: Warning: This' Magnet's The destination 'call for the dynamic class is an indicator' truckboris :: ANUM '; Vtable indicator will be overwritten [-DrVenture-class-mamacus] memeset (v_def, 0, size (type)); ^ Parser.cpp: 2807: 66: Note: Member Function 'swig :: traits_as & lt; TruckBoris :: Enum, swig :: pointer_category & gt; :: as requested here 'back traits_as & lt; Types, typographical symptoms & lt; Type & gt; :: Category & gt; :: as (obj, te); ^ Parser.cpp: 4236: 92: Attention: Function template specialist instant 'swig :: as & lt; Truckborough :: Enum & gt; Requested std :: vector & lt; Truckborough :: Anam, std :: allocator & lt; Truckborough :: Enum & gt; & Gt; :: value_type val = swig :: as & lt; Std :: vector & lt; Truckboris :: enum, std :: allocator & lt; Truckborough :: Enum & gt; & Gt; :: value_type & gt; (Elem ... ^ parser.cpp: 2781: 9: Note: Insert the indicators to kiss this warning memet (v_def, 0, sizeof (type)); ^ (zero *)
< / Pre>This is just a few warnings and my expansion is compiling and working as expected. But if there are some warnings, then I think it means that I may be wrong.
For notifications:
I do not have warnings from ordinary sections like plain Structural class warnings are received, which are both obtained from the same class. Here is the code:
class tag definition {public: tag declaration (clag :: tagDictale * var); ~ Tag Declaration () {} Zero Setprint (Clag :: TagsDel * var); // For Ruby Interface: Tags: Tags: DCL * getPtr () const; // Ruby interface std :: string getName () const; bool name file file link ) Constant; bool hilink () const; Std :: string getTypedefName () CONST; Std :: string getRaw (Clag :: Source Manager and Sm, Const Klang :: Langopsn and Lop) Const; virtual tags Didcleyreshn and amp; Equal (Const Tag Declaration and Tag); Protected: clang :: TagDecl * m_var; }; Class structure: public tagview {public: structure (); Structure (Clag :: TagsDecall * var); ~ Structure () {} # Prima Clag Diagnostic Push # Pragma Clang Diagnostic Unseen "-Worlded-Virtual" Virtual Structure & amp; Equal (abstract structure and tag); #pragmaClag Diagnostic Pop STD :: String getTagType () const; Int getFieldsNumber () console; Std :: vector & lt; Field & gt; GetFields () console; Clag :: Fielddale * getField (int i) const; Private: std :: string m_tagType; };
Edit:
I can reproduce this type of error: test.h
class number { Public: Number () {M_num = 0; } Number (int one): m_num (a) {} ~ number () {} virtual zero equal () {} private: int m_num; }; Class float: public number {public: float (): number () float (int a): number (a) {} ~ float () {} virtual zero equivalent () {} zero printtoot () {}}; Square double: public number {public: double (): number () {} double (int a): number (a) {} ~ double () {} virtual zero equivalent () {} zero printeta (); };
test.i
% include "test"% "std_vector.i"% {# #include "test.h"%} name Location std {% template (vector float) vector & lt; Float & gt; }; Confing ['CSE'] = 'clag ++' create_makefile ("test.h" for "test"
"mkmf")
< / Pre>
Comments
Post a Comment