generate C++ interface header, proxy and stub headers and sources.
diff --git a/hidl-gen_y.yy b/hidl-gen_y.yy
index 07c9af5..af0e1a0 100644
--- a/hidl-gen_y.yy
+++ b/hidl-gen_y.yy
@@ -78,11 +78,11 @@
     android::Type *type;
     android::CompoundType *compoundType;
     android::CompoundField *field;
-    android::Vector<android::CompoundField *> *fields;
+    std::vector<android::CompoundField *> *fields;
     android::EnumValue *enumValue;
-    android::Vector<android::EnumValue *> *enumValues;
+    std::vector<android::EnumValue *> *enumValues;
     android::TypedVar *typedVar;
-    android::Vector<android::TypedVar *> *typedVars;
+    std::vector<android::TypedVar *> *typedVars;
     android::Method *method;
     android::CompoundType::Style compoundStyle;
     android::Vector<std::string> *stringVec;
@@ -220,7 +220,7 @@
 method_declaration
     : IDENTIFIER '(' typed_vars ')' ';'
       {
-          $$ = new Method($1, $3);
+          $$ = new Method($1, $3, new std::vector<TypedVar *>);
       }
     | IDENTIFIER '(' typed_vars ')' GENERATES '(' typed_vars ')' ';'
       {
@@ -231,11 +231,11 @@
 typed_vars
     : /* empty */
       {
-          $$ = new Vector<TypedVar *>;
+          $$ = new std::vector<TypedVar *>;
       }
     | typed_var
       {
-          $$ = new Vector<TypedVar *>;
+          $$ = new std::vector<TypedVar *>;
           $$->push_back($1);
       }
     | typed_vars ',' typed_var
@@ -293,7 +293,7 @@
     ;
 
 field_declarations
-    : /* empty */ { $$ = new Vector<CompoundField *>; }
+    : /* empty */ { $$ = new std::vector<CompoundField *>; }
     | field_declarations field_declaration
       {
           $$ = $1;
@@ -360,11 +360,11 @@
 enum_values
     : /* empty */
       {
-          $$ = new Vector<EnumValue *>;
+          $$ = new std::vector<EnumValue *>;
       }
     | enum_value
       {
-          $$ = new Vector<EnumValue *>;
+          $$ = new std::vector<EnumValue *>;
           $$->push_back($1);
       }
     | enum_values ',' enum_value