#include <iostream>
#include <vector>
void init()
{
std::vector<double> b;
b.push_back(10);
return;
}
double mean(double *array, size_t n)
{
double m=0;
for(size_t i=0; i<n; ++i)
{
m += array[i];
}
std::cout<<*array<<std::endl;
return m/n;
}
int test(int *b)
{
int dist;
dist=b[0];
return dist;
}
int main()
{
int x=0;
int y=0;
//double a[5]={1, 2, 3, 4, 5};
std::vector<double> a;
a.push_back(1);
a.push_back(2);
a.push_back(3);
a.push_back(4);
a.push_back(5);
std::cout<<mean(&a[0], 5)<<std::endl; // will print 3
init();
y=test(&b[0]);
std::cout<<y<<std::endl;
return 0;
}
"init"関数でベクトル "b"を初期化し、 "test"関数で値を取得して最終的にmain関数で "y"に戻すことができるかどうかを確認しようとしています。これも可能ですか?この可能性を探るのは単なるテストコードです。参照でベクトルを渡す
どこから始めればいいのですか? 'main'は' int main(int * b) 'として宣言されているのはなぜですか? 'b'はここで何を保持すると思いますか? 'main'は引数を持たないか、ちょうど2つの' int'と 'char *'を持ちます。 – user657267
init()の 'b'はinit()の終了後も存在しません。また、 'main()'の 'b'や' test() 'の' b'にも接続していません。 – drescherjm
私は、 "return = init()"のようにmain関数に "b"を返さなければなりません。私の質問は:init()の現在の形式のmain関数の役割は何ですか? – Far