2016-08-25 9 views
0

私はTurbo C++を使用しており、コードで予期しないエラーが発生しています。 オブジェクトの配列をメンバ関数に渡そうとしています。 エラー:未定義の構造テストは、私はコードの構文がより異なる場合がありますので、学校でのTurbo C++コンパイラの古いバージョンを使用する必要があり、私は私の印刷機能オブジェクトの配列をC++のメンバ関数に渡す

#include<iostream.h> 
#include<conio.h> 

class test 
{ 
    int t; 
public: 
    void print(test T[]) 
    { 
      cout<<"This Test\n"; 
    } 
}; 
void main() 
{ 
    clrscr(); 
    test T1,T2[5]; 
    T1.print(T2); 
    getch(); 
} 

を定義する行にポップ新しいコンパイラ。

+6

私は実際には、教師/学校では、古くなったもの(私はそれを_version_と呼ぶのは難しい)をC++コンパイラで使用しているということに本当に困惑しています。 –

+0

私は、ターボを使っている人だけがエラーを再現できると確信しています。そのような人を見つけて、彼らに尋ねなさい。 – juanchopanza

+0

GCCで実行するためにいくつかの変更を行った後、[再現できませんでした](http://melpon.org/wandbox/permlink/1Fxw6jFzMnjE2dKW)。 – MikeCAT

答えて

0

void print(test *T)として機能を定義してください。

test[]のパラメータに関して、ターボC++は、test*に相当します。

+0

もう1つ、ポインタとして機能するのはなぜですか?配列としてではありませんでしたか? – Shashank

+1

@Shashank 2つの署名は、言語の観点から同じです。 TC++はちょうど悪いです – StoryTeller

+0

ああok ... – Shashank

関連する問題