//My Header Fileは27のエラー
//Header File
#include<iostream>
using namespace std;
MyFloat rotate_right(MyFloat obj)
{
/*All that this function is supposed to do, is to return a new object, that object will
be having array elements in the order like 2.2 3.2 4.2 5.2 6.2 where the
original(object that is passed in parameter) object must be having array elements
in order like 3.2 4.2 5.2 6.2 2.2
*/
MyFloat c;
c.size = obj.size;
c.arr = nullptr;
c.arr = new float [obj.size];
c.arr[0] = obj.arr[obj.size - 1];
for(int i = 1,j=0; i < (obj.size - 1); i++,j++)
{
c.arr[j] = obj.arr[i];
}
return c;
}
class MyFloat
{
public:
MyFloat();//Default Constructor
MyFloat(int data);//Parameterized Constructor
MyFloat(MyFloat & const obj);//Copy Constructor
void input();//Filling Array
void PrintFloat();//For Displaying Array
MyFloat& operator=(MyFloat & const obj);//Assignment Operator Overloading
friend MyFloat rotate_right(MyFloat obj);/////////////This is the Function which is causing Problem/////////////
~MyFloat();//Destructor
private:
int size;//size of array
float *arr;
};
////////////This is the Cpp FILE Having Definition of All Functions
#include"My_Floats_Header.h"
MyFloat::MyFloat()
{
cout << "Default Constructor Called!" << endl;
size = 0;
arr = nullptr;
}
MyFloat::MyFloat(int _size)
{
cout << "Parametrized Constructor Called!" << endl;
size = _size;
arr = nullptr;
arr = new float [_size];
}
void MyFloat :: input()
{
for(int i = 0 ; i < size; i++)
{
cout << "Enter an Element = ";
cin >> arr[i];
}
}
MyFloat :: MyFloat(MyFloat & const obj)
{
size = obj.size;
arr = nullptr;
arr = new float [size];
for(int i = 0 ; i < obj.size; i++)
{
arr[i] = obj.arr[i];
}
}
MyFloat & MyFloat :: operator=(MyFloat & const obj)
{
size = obj.size;
arr = nullptr;
arr = new float [size];
for(int i = 0 ; i < obj.size; i++)
{
arr[i] = obj.arr[i];
}
return *this;
}
void MyFloat :: PrintFloat()
{
for(int i = 0 ; i < size; i++)
{
cout << arr[i];
}
cout << endl;
}
MyFloat::~MyFloat()
{
if(arr != nullptr)
{
delete [] arr;
}
size = 0;
}
////Cpp file having mian()
#include"My_Floats_Header.h"
int main()
{
MyFloat *floatNumber = new MyFloat(5);//declaration
floatNumber -> input();//taking input
MyFloat newfloatNumber = *floatNumber;
floatNumber = rotate_right(floatNumber);
cout << "My Float without Rotation: ";
newfloatNumber.PrintFloat();
cout << "My Float after Rotation: ";
floatNumber -> PrintFloat();
system ("pause");
return 0;
}
ERRORS THAT I'm GETTING:
エラーC4430欠落している型指定子を与えます。注:C++はdefault-intをサポートしていません(行番号4)
エラーC2146構文エラー: ';'がありません。 「行番号4」の識別子 'rotate_right'の前に
エラーC2143構文エラー: ';'が見つかりません。 ';':逃す機能ヘッダ(?古いスタイルの正式なリスト)(行番号5で)
エラーC2143構文エラー: '{'(行番号5で)
エラーC2447 '{' の前に'&'の前(行番号40)
エラーC4430欠落型指定子 - が想定されています。注:C++は(行番号40に)C2086 'intはMyFloat'
エラーをデフォルト-int型をサポートしていません(行番号40)で再定義
エラーC2761「MyFloat & MyFloat ::演算子=(MyFloat & '):(行番号41に許可されていないメンバ関数再宣言)
エラーC2059構文エラー: '{'()行番号41に
エラーC2143構文エラー:不足しています ';' '{' の前に(行番号41)で
エラーC2447 '{':欠落している関数ヘッダ(旧スタイルの正式なリスト?)(行番号41)で
エラーC4430欠落している型指定 - 仮定intです。注:C++はdefault-intをサポートしていません(行番号4)
エラーC2146構文エラー: ';'がありません。 「行番号4」の識別子 'rotate_right'の前に
エラーC2143構文エラー: ';'が見つかりません。 '{'(行番号5)の前に '012')(行番号5)で
エラーC2065 'floatNumber':宣言されていない識別子(行番号6)
エラーC2061構文エラーで:識別子 'MyFloat'(行番号6)
エラーC2065 「floatNumber」:
エラーC2227は、の左(行番号7で)宣言されていない識別子 -
エラーC2146構文エラー(行番号7で)/構造体/共用/ジェネリック型クラスを指している必要があります「>入力」 :欠落した ';' (行番号8)識別子 'newfloatNumber' 前
エラーC2065 'newfloatNumber':宣言されていない識別子(行番号8)
エラーC2065 'floatNumber':宣言されていない識別子(行番号8 )
エラーC2065 'floatNumber':(行番号9)で宣言されていない識別子
エラーC2065 'newfloatNumber':(行番号12)で宣言されていない識別子C2228は.Pr「の左
エラーintFloatは」(行番号12の)クラス/構造体/共用体を持っている必要があります
エラーC2065 'floatNumber':C2227は、の左に宣言されていない識別子(行番号15)
エラー ' - > PrintFloat' が/クラスを指している必要があります構造体/共用体/ジェネリック型(行番号15)
Dude - 少なくともあなたのヘッダーファイルにガードを追加しますか? [ifdefヘッダーガードとhファイルをリンクする](http://stackoverflow.com/questions/14290026)。私は[チキン/卵](http://www.gamedev。)のより堅牢な解決策として[forward declarations](https://en.wikipedia.org/wiki/Forward_declaration)の使用を検討するよう強くお勧めします。 net/topic/643989-avoiding-the-c-chicken-or-egg-problem /)問題が発生しました。 – paulsm4