下午好,是否有可能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 :(得分:2)
只有拥有指针数组时,空终止才有意义。你必须在那里放一个完整的空行:
{ { 0, 0 }, { 0, 0 }, { 0, 0 } }
幸运的是,C和C ++让你只需要一次初始化,所以只需{ { 0 } }
即可。您还需要将数组大小设为[4][3]
。
答案 1 :(得分:0)
晚上好,以下代码是正确的建议答案,并在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 } }
};