C++ 如何使用实数创建动态数组?
我知道带整数的动态数组的语法,但是当我试图创建一个存储双值的动态数组时,它会给我一条错误消息。(C++ 如何使用实数创建动态数组?,c++,arrays,dynamic,C++,Arrays,Dynamic,我知道带整数的动态数组的语法,但是当我试图创建一个存储双值的动态数组时,它会给我一条错误消息。(错误:新声明符中的表达式必须具有整型或枚举类型) 正如错误消息所示,双n不能用作元素数,元素数必须为整数。它应该是intn您也可以使用std::vector: int main() { ifstream f("date.in"); ofstream g("date.out"); size_t fSize; f >> fSize;
错误:新声明符中的表达式必须具有整型或枚举类型
)
正如错误消息所示,
双n代码>不能用作元素数,元素数必须为整数。它应该是intn代码>您也可以使用std::vector:
int main()
{
ifstream f("date.in");
ofstream g("date.out");
size_t fSize;
f >> fSize;
std::vector<double> v(fSize);
for(size_t i=0; i<n && f.good(); i++) f >> v[i];
}
intmain()
{
IFF流(“日期”);
流g(“日期输出”);
大小;
f>>fSize;
std::向量v(fSize);
对于(尺寸i=0;i>v[i];
}
vector是一种更好的方法,因此,与其使用声明为双精度的v[1000]来代替它?即使数组存储double
s,它存储的元素数仍然是一个离散值。double n;
应该是int n;
或size\u t n;
或类似的值。是的,我真的没有想清楚,是吗?:)
int n;
f >> n;
int* v = new int[n];
int main()
{
ifstream f("date.in");
ofstream g("date.out");
size_t fSize;
f >> fSize;
std::vector<double> v(fSize);
for(size_t i=0; i<n && f.good(); i++) f >> v[i];
}