G:\Vmware\shared_folders\QT\day02\Simple_calculator\mainwindow.cpp:43: error: expected primary-expression before 'Stack' double result=stack<string> Stack; ^~~~~
时间: 2024-04-17 15:24:36 浏览: 116
这个错误是因为在声明 `stack` 对象时,您使用了错误的语法。在 C++ 中,当你声明一个变量时,不需要指定模板参数。
要解决这个问题,您可以将第43行的代码修改为以下形式:
```cpp
std::stack<std::string> Stack;
```
这样就可以正确地声明一个名为 `Stack` 的堆栈对象,其中存储的数据类型是 `std::string`。
请注意,`std::string` 是 C++ 标准库中的字符串类型,如果您希望在堆栈中存储其他类型的数据,请将 `std::string` 替换为适当的数据类型。
这样就可以正确地声明和使用 `std::stack` 对象了。
相关问题
G:\Vmware\shared_folders\QT\day02\Simple_calculator\mainwindow.cpp:43: error: expected '(' for function-style cast or type construction
这个错误是因为在声明 `std::stack` 对象时,您使用了错误的语法。在 C++ 中,当您实例化一个模板类时,需要使用圆括号 `()`。
要解决这个问题,您可以将第43行的代码修改为以下形式:
```cpp
std::stack<std::string> Stack();
```
这样就可以正确地声明一个名为 `Stack` 的堆栈对象,其中存储的数据类型是 `std::string`。
请注意,`std::string` 是 C++ 标准库中的字符串类型,如果您希望在堆栈中存储其他类型的数据,请将 `std::string` 替换为适当的数据类型。
这样就可以正确地声明和使用 `std::stack` 对象了。
G:\Vmware\shared_folders\QT\day02\Simple_calculator\mainwindow.cpp:43: error: use of class template 'stack' requires template arguments
这个错误是因为在使用 `std::stack` 类时,需要指定堆栈中存储的数据类型作为模板参数。在第43行的代码中,您没有提供模板参数。
要解决这个问题,您需要将第43行的代码修改为以下形式:
```cpp
std::stack<your_data_type> Stack;
```
将 `your_data_type` 替换为您要在堆栈中存储的实际数据类型。
这样就可以正确地声明和使用带有模板参数的 `std::stack` 对象了。
阅读全文