C++でinclude参照した先のコンストラクターの初期値の宣言の仕方がわかりません
VSでコードをうち、ヘッダーファイルとソースファイルに分けてコードを打っています.
C++
1コード 2//ヘッダーファイル 3#pragma once 4#include "Vector2.h" 5#include <iostream> 6using namespace std; 7//プレイヤーの初期値 8 9class Player { 10public: 11 Player(int _x, int _y); 12 Vector2 pos; 13 void Position(); 14};
C++
1コード 2//ソースファイル 3#include <iostream> 4#include"Player.h" 5using namespace std; 6//------------------ 7//プレイヤーの処理内容 8//------------------ 9 10Player::Player(int _x,int _y) { <-----ここでVector2の規定のコンストラクターがありませんのエラー(C2512) 11 pos.x = _x; 12 pos.y = _y; 13} 14 15void Player::Position() { 16 Player player(100, 200); 17 cout << player.pos.x << ", " << player.pos.y << endl; 18}
C++
1コード 2//ヘッダーファイル 3#pragma once 4#include <iostream> 5 6class Vector2 { 7public: 8 int x , y; 9 Vector2(int _x, int _y); 10 void Initial();<----ここで初期値を設定したつもりです. 11};
C++
1コード 2//ソースファイル 3#pragma once 4#include <iostream> 5#include"Vector2.h" 6using namespace std; 7//----------------- 8//ベクトルの処理内容 9//----------------- 10 11Vector2::Vector2(int _x, int _y) { 12 13 x = _x; 14 y = _y; 15} 16//初期値を設定 17void Vector2::Initial() { 18 Vector2 obj(1, 2); 19 cout << obj.x << " " << obj.y << endl; 20} 21
あと、最後は別のソースファイルを作りint main(){}で実行させるつもりです。
C++について始めたばっかりでよくわからないのですが、参考サイトと参考書をみて初期値を設定してもうまくいかったので教えていただけると助かります。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー