【发布时间】:2020-09-30 11:41:36
【问题描述】:
我有两个要打印的双指针数组
但不知何故我无法做到..
double *noise_feature = new double[5];
double *basic_feature = new double[39];
noise_feature_extraction(sig, len, noise_feature);
basic_feature_extraction(sig, len, basic_feature);
cout << "\n";
printf("Noice features are");
for (auto i = noise_feature.begin(); i != noise_feature.end(); ++i)
cout << *i << " ";
cout << "\n";
printf("Basic features are");
for (auto i = basic_feature.begin(); i != basic_feature.end(); ++i)
cout << *i << " ";
cout << "\n";
这会产生这样的错误
Pan_Tompkins.cpp:992:29: error: member reference base type 'double *' is not a structure or union
for (auto i = noise_feature.begin(); i != noise_feature.end(); ++i)
~~~~~~~~~~~~~^~~~~~
Pan_Tompkins.cpp:992:57: error: member reference base type 'double *' is not a structure or union
for (auto i = noise_feature.begin(); i != noise_feature.end(); ++i)
我试过这样打印
printf("%g",noise_feature);
printf("%g",basic_feature);
这不会出错,但也不会打印任何内容。
如何打印这两个双精度数组以查看它们的值?
【问题讨论】:
-
您应该使用
std::vector<double>而不是分配双精度数组。
标签: c++ loops pointers vector printf