0
클래스 내부의 구조로 작업하는 방법을 모르겠습니다. 나는 첫번째 부분이 맞다고 생각하지만, 주된 부분에는 아무것도 없다. 나는 그것이 말하는 내 프로그램을 실행하려고하면 "함수가 0 인수를 고려하지 않습니다"이 같은 주에 모든 것을 작성해야 :개인 내부의 구조
P.Read(BOX m);
여기까지 아래 내 코드입니다 :
#include <iostream>
#include <string>
using namespace std;
template <class T, int n>
class SIX
{
private:
struct BOX
{
T a[n];
string name;
};
public:
void Read(BOX m)
{
cout<<"Enter your name: ";
cin>>m.name;
cout<<m.name<<" please enter "<<n<<" data: ";
for(int i=0;i<n;++i)
cin>>m.a[i];
}
void SortArray(BOX m)
{
sort(m.a, m.a+n);
}
void Display(BOX m)
{
cout<<m.name<<" this is the sorted list of data in your array a: ";
for(int i=0;i<n;++i)
cout<<m.a[i]<<'\t';
cout<<endl;
}
};
int main()
{
SIX <int, 6> P;
SIX <string, 5> Q;
P.Read();
P.SortArray();
P.Display();
cout<<endl;
Q.Read();
Q.SortArray();
Q.Display();
cout<<endl;
system("pause");
return 0;
}
는'BOX' 변수 아닌,
struct
선언의 끝으로BOX
를 이동하는 것입니다. – Barmar오, 네가 맞아,하지만 그걸 멤버 변수로 만들어야 해. 나는 그것을 빨리 읽고 변수를 정의했다는 것을 먼저 생각했다. 실제로 변수를 클래스 외부에서 사용하지 않았기 때문이다. – vsoftco
이 내가 그에게로 클래스 템플릿 멤버 함수 '무효 SIX :: SortArray (무효)' 를 컴파일하는 동안 발견되지 "종류"식별자를 실행하려고하면 내가 무엇을 얻을 [ T = INT, N = 6 ] –
user3326689