我敢肯定,对于大多数人来说,这是一个非常简单的问题。但是我正在用 C++ 为 XML 编写一个 token 识别器,并且我正在使用一个堆栈来确保有匹配的开始和结束标记。好吧,我的标签是 C 字符串...
char BeginTag[MAX];
我正在尝试将其推送到我的模板堆栈中。但我不确定传递堆栈的类型。我试过了……
stack<char> TagStack;
但这行不通。我也尝试了其他一些解决方案,但似乎都没有用。有人可以帮助我吗?
最佳答案
数组不可赋值,因此不能用作容器值类型。
不过,您可以定义一个包含数组的结构,并使用它:
struct Tag {
char name[MAX];
};
stack<Tag> TagStack;
或者只为您的标签使用 std::string
。
关于C++ - 将 C 字符串推送到模板堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4109891/