メソッドの返り値が変な値になる
cocos2d-xでiphone用のアプリを開発しているものです。
今回クロスプラットフォームに対応するため、端末の画面の大きさを取得し、表示する文字サイズと位置を取得するメソッドを作成しました。
そのメソッドをメインプログラムから呼び出して、return fontsize position;としているのですが
その値がそのままメインに返ってこないのです。
例)
ヘッダ
public int serifuSize(int fontsize,int position);
メイン
main.cpp
int fontsize;
int position;
this ->serifu(fontsize,position);
serifメソッド
int MainScene::serifu(int fontsize,int position){
//ここで画面幅から端末の情報を受け取り、それを元にfontsizeとpositionを設定する処理(省略)
return fontsize,position;
}
としており、serifu内ではきちんとした値が入っているのにもかかわらず、メインの方に処理が戻り、fontsize内の値とpositionの値を確認したところ、-1074098144こんな感じのデタラメな数字が入っています。
引数のあるメソッドの呼び出し方を調べてみたところCC_CALLBACK_2というものがあり、それを使ってみたのですが
this -> CC_CALLBACK_2(MainScene::serifu, this);
Qualified member access refers to a member in namesepace 'std'
というエラーが出ます。
今一度目的だけを書き出すと、
*int値(引数は2つ)をメソッドで取得
*取得したその値を呼び出し元のクラスで使いたい
なのですが、上の内容でどのような問題があるでしょうか。
お願いします。