このYouTube ビデオ チュートリアル シリーズに従って、c++11 配列を試しています。私は自分の IDE の使用にあまり熟練していませんが、IDE の Eclipse とコードブロックの両方を使用して、少なくともそれらを許可する C++0x ISO 言語標準 [-std=c++0x] に従うようにコンパイラーを設定しています。などの c++11 配列の構文を理解するには、array <double, 5> rainfall;
どちらも同じように応答します。私が書いた次のコードは、この配列を出力する関数に渡します。
#include <iostream>
#include <array>
using namespace std;
void printArray(double[], int);
int main()
{
array <double, 5> rainfall;
rainfall[0] = 2.3;
rainfall[1] = 0.3;
rainfall[2] = 0.0;
rainfall[3] = 4.1;
rainfall[4] = 0.5;
printArray(rainfall, 5);
return 0;
}
void printArray(double array[], int size)
{
for(int i = 0; i < size; i++)
{
cout << array[i] << " | ";
}
}
このような c++11 以外の配列でdouble rainfall[5]
は問題なく動作しarray <double, 5> rainfall
ますが、cannot convert 'std::array<double, 5u>' to 'double*' for argument '1' to 'void printArray(double*, int)
The video I am following uses the same code, still receive this error というエラーがあります。