0
質問のタイトルはエラーそのものですが、ここエラー:タイプ 'char(CharStack ::)(const)throw(CharStack :: Underflow)'の引数が 'char'と一致しません
error: argument of type ‘char (CharStack::)()const throw (CharStack::Underflow)’ does not match ‘char’
は私が使用していたコードファイルである:私は私が使用する2つの例外を定義するヘッダファイルで
#include <iostream>
#include "CharStack.h"
using namespace std;
// returns top value on stack
// throws exception if empty
//
// O(n)
char CharStack::top() const throw(Underflow)
{
Elem * cur = head;
if(!empty())
{
while(cur && cur -> next)
cur = cur -> next;
return cur -> info;
}
}
int main()
{
CharStack * stack = new CharStack();
char top = stack -> top;
stack -> push('t');
stack -> push('e');
stack -> push('s');
stack -> push('t');
stack -> push('i');
stack -> push('n');
stack -> push('g');
stack -> output(cout);
delete stack;
}
例として、私は、次のいない:
public:
// exceptions
class Overflow{};
class Underflow{};
私は抜粋を扱っていないので、私はそれが前提だが、私はこの現状でそれをどのように処理するのかは分からない。
申し訳ありませんが、 "Elem"は2つの変数を持つ構造体です: Elem * next;とchar情報; Elem - > infoは、構造体に格納されているcharを取得しています。私はより明確にすべきだった。 – Joshua
メンバ関数である 'stack-> top'の部分はまだ保持されています。 – Mat