[cpp] value-initialize sub structs

This is needed so that the WGPUString struct inside
other structs gets value-initialized to the nil representation
for WGPUString.

Bug: 42241188
Change-Id: I3d3e4793b4ed578829925fdae2cc2721f72966a2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/198775
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
diff --git a/generator/templates/api_cpp.h b/generator/templates/api_cpp.h
index dd585ac..bc03de0 100644
--- a/generator/templates/api_cpp.h
+++ b/generator/templates/api_cpp.h
@@ -245,6 +245,8 @@
         {{" "}}= {{member.default_value}}
     {%- elif member.default_value != None -%}
         {{" "}}= {{member.default_value}}
+    {%- elif member.type.category == "structure" and member.annotation == "value" and is_struct -%}
+        {{" "}}= {}
     {%- else -%}
         {{assert(member.default_value == None)}}
         {%- if force_default -%}