繁体   English   中英

是否有可能NULL终止二维C ++结构数组?

[英]Is it possible to NULL terminate a 2 dimensional array of C++ structs?

下午好,是否有可能NULL终止二维C ++结构数组? 谢谢。

sPRIORITYANALYZER sArrayOfArrayAnalyzerArray[3][3] = {
{ 
  {mdMUReadWrite::First,mdProfiler::DataTypeFirstName},
  {mdMUReadWrite::FullName,mdProfiler::DataTypeFullName},
  {mdMUReadWrite::InverseName,mdProfiler::DataTypeInverseName} 
},

{ 
  {mdMUReadWrite::Last,mdProfiler::DataTypeFirstName},
  {mdMUReadWrite::FullName,mdProfiler::DataTypeFullName},
  {mdMUReadWrite::InverseName,mdProfiler::DataTypeInverseName} 
},

{
  {mdMUReadWrite::Zip9,mdProfiler::DataTypeZipOrPostalCode},
  {mdMUReadWrite::Zip5,mdProfiler::DataTypeZipOrPostalCode},
  {mdMUReadWrite::CityStZip,mdProfiler::DataTypeCityStateZip}

}
};

只有拥有指针数组时,空终止才有意义。 你必须在那里放一个完整的空行:

{ { 0, 0 }, { 0, 0 }, { 0, 0 } }

幸运的是,C和C ++让你只需要一次初始化,所以只有{ { 0 } }才能正常工作。 你需要使你的数组​​大小为[4][3]

晚上好,以下代码是正确的建议答案,并在Microsoft Visual Studio 9.0 C ++编译器上编译。 谢谢。

sPRIORITYANALYZER sArrayOfArrayAnalyzerArray [] [4] = {

{ 
  {mdMUReadWrite::First,mdProfiler::DataTypeFirstName},
  {mdMUReadWrite::FullName,mdProfiler::DataTypeFullName},
  {mdMUReadWrite::InverseName,mdProfiler::DataTypeInverseName},
  (mdMUReadWrite::MatchcodeMapping)0
},

{ 
  {mdMUReadWrite::Last,mdProfiler::DataTypeFirstName},
  {mdMUReadWrite::FullName,mdProfiler::DataTypeFullName},
  {mdMUReadWrite::InverseName,mdProfiler::DataTypeInverseName},
  (mdMUReadWrite::MatchcodeMapping)0
},

{
  {mdMUReadWrite::Zip9,mdProfiler::DataTypeZipOrPostalCode},
  {mdMUReadWrite::Zip5,mdProfiler::DataTypeZipOrPostalCode},
  {mdMUReadWrite::CityStZip,mdProfiler::DataTypeCityStateZip},
  (mdMUReadWrite::MatchcodeMapping)0

},

{ { (mdMUReadWrite::MatchcodeMapping)0, (mdProfiler::ProfilerDataType)0 }, { (mdMUReadWrite::MatchcodeMapping)0, (mdProfiler::ProfilerDataType)0 }, {(mdMUReadWrite::MatchcodeMapping) 0, (mdProfiler::ProfilerDataType)0 } }

};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM