#1
by Hiragi(GKUTH) » 7年前
いつもお世話になっております。
今回はC/C++の初歩的な質問になります。
文に起こし辛いのでソースで示しますと、
コード:
void hoge(int *i,int *ii,int *iii)
{
*i = 0;
*ii = 0;
*iii = 0;
}
void hogehoge()
{
float f,g,h;
hoge(&f,&g,&h); //ココ
}
このようにすると呼び出し側から*float -> *int の変換は出来ない、と怒られてしまいます。
関数hogehogeの変数f,g,hを*intに変換する方法は無いのでしょうか?
コード:
void hoge(int *i,int *ii,int *iii)
{
*i = 0;
*ii = 0;
*iii = 0;
}
void hogehoge()
{
float f,g,h;
int seisu1,seisu2,seisu3;
hoge(&seisu1,&seisu2,&seisu3);
f = (int)seisu1,g = (int)seisu2,h = (int)seisu3;
}
このようにすれば動作するでしょうが、もう少し良い書き方は無いでしょうか。
学習の過程でこのような場面に出くわしたので気になって投稿させて頂きました。よろしくお願いします。
いつもお世話になっております。
今回はC/C++の初歩的な質問になります。
文に起こし辛いのでソースで示しますと、
[code]
void hoge(int *i,int *ii,int *iii)
{
*i = 0;
*ii = 0;
*iii = 0;
}
void hogehoge()
{
float f,g,h;
hoge(&f,&g,&h); //ココ
}
[/code]
このようにすると呼び出し側から*float -> *int の変換は出来ない、と怒られてしまいます。
関数hogehogeの変数f,g,hを*intに変換する方法は無いのでしょうか?
[code]
void hoge(int *i,int *ii,int *iii)
{
*i = 0;
*ii = 0;
*iii = 0;
}
void hogehoge()
{
float f,g,h;
int seisu1,seisu2,seisu3;
hoge(&seisu1,&seisu2,&seisu3);
f = (int)seisu1,g = (int)seisu2,h = (int)seisu3;
}
[/code]
このようにすれば動作するでしょうが、もう少し良い書き方は無いでしょうか。
学習の過程でこのような場面に出くわしたので気になって投稿させて頂きました。よろしくお願いします。