我会尽量简短。当我运行代码时,我输入第一个字符(例如:'k'),一切都很好。第二次,我输入一个字符(例如:'j'),我得到一个错误,编译器说它在线上(有注释)。请帮忙。谢谢。用C创建树新的结构++
代码:
struct nodeType{
char letter;
nodeType*leftNode;
nodeType*rightNode;
};
void putInNode(nodeType*n,char c){
if ((char)(n->letter) >='a' && (char)(n->letter) <='z')/* ERROR IS HERE*/
{
if(n->letter < c)
putInNode(n->leftNode, c);
else
putInNode(n->rightNode, c);
}
n->letter=c;
}
int main(){
nodeType*a=new nodeType();
char c;
do {
cin >> c;
if(c=='.')
break;
putInNode(a,c);
} while (true);
cout << a->letter << endl;
}
而_what_错误,你得到什么?请包含_complete_和_unedited_错误消息。 – 2013-02-27 18:56:38
顺便说一句,你真的应该创建一个构造函数,使指针无效,也** **检查为空,否则你会在内存步骤周围,直到你的程序崩溃。 – 2013-02-27 18:58:10