一段代码 找了很久的错误 忘达人解答
#include"stdafx.h"#include<iostream>
#include"Hanoi3.h"
#include"Stack"
using namespace std;
class Hanoi3{
friend void Towers(Hanoi3 a);
public:
void Towers(int n,int x,int y,int z);
private:
Stack<int> *S[4];
};
void Towers(Hanoi3 X){
int n;
X.S[1]=new Stack<int> (n);
X.S[2]=new Stack<int> (n);
X.S[3]=new Stack<int> (n);
for(int d=n;d>0;d--)
X.S[1]->Add(d);
X.Towers(n,1,2,3);
}
void Hanoi3::Towers(int n,int x,int y,int z){
int d;
if(n>0){
Towers(n-1,x,z,y);
S[y]->Add(d);
Towers(n-1,z,y,x);
}
}
void main(){
Stack<int> a;
}
有两个错误 一个是:错误 1 error C1075: 与左侧的 大括号“{”(位于“d:\my documents\visual studio 2010\projects\hanoi3\hanoi3\stdafx.h(8)”)匹配之前遇到文件结束 d:\my documents\visual studio 2010\projects\hanoi3\hanoi3\hanoi3.cpp 26 1 Hanoi3
还有一个是他说Hanoi3::S不可访问,为什么啊,我定义的友元函数 怎么不可以访问啊。