簡體   English   中英

C ++如何將向量轉換為數組?

[英]C++ how to convert vector to an array?

有人可以告訴我如何將向量轉換為數組嗎? 我有一個函數可以返回典型的double型向量

std::vector<double>  x_vec = LinspaceArray_DK2(0, 5.0, 0.01);
std::vector<double>  y_vec = Calculate_y_vec(x_vec);

但是,遵循GSL(GNU science lib)函數的功能是將數組作為輸入

gsl_spline_init (spline, x_array, y_array, x_vec.length);

在此,x_array,y_array是與向量x_vec和y_vec相對應的陣列。

我在這里嘗試了以下解決方案( 如何在C ++中將向量轉換為數組 ),它建議像這樣進行轉換:

std::vector<double> v;
double* a = &v[0];

但是,這種類型的轉換對使用gsl_spline_init期望將數組作為輸入沒有幫助。

更新:

我試圖這樣打電話:

// Convert all vector to an array
double* x_input_Array = &x_input[0];
double* y_input_Array = &y_input[0];

然后致電:

gsl_spline_init (spline, *x_input_Array, *y_input_Array, iNoOfPtsIni);

我收到此錯誤:錯誤C2664:'gsl_spline_init':無法將參數2從'double'轉換為'const double []'

謝謝,DK

您不需要(也不應該)取消引用-調用的函數期望數組,然后傳遞它們的第一個元素。 采用

gsl_spline_init (spline, x_input_Array, y_input_Array, iNoOfPtsIni);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM