C++ 编程错误 |未声明的标识符
Posted
技术标签:
【中文标题】C++ 编程错误 |未声明的标识符【英文标题】:C++ Programming Error | Undeclared Identifier 【发布时间】:2017-09-08 02:36:24 【问题描述】:所以我正在尝试制作一个简单的程序,但我不断收到 '未声明的标识符错误',其中包含我的姓名、作者、价格、isbn、数量、第一个结果和第二个结果,控制台。如果已经询问过此类问题但我无法解决,我深表歉意。
这是我的程序:
#include <iostream>
#include <string>
using namespace std;
int main()
string name, author,
double isbn,
float price,
int quantity,
float firstresult,
float secondresult,
const float tax (0.07);
cout << "What is the name of the book?";
cin >> name;
cout << "What is the authors name?";
cin >> author;
cout << "What is the ISBN number?";
cin >> isbn;
cout << "What is the price?";
cin >> price;
cout << "How many books did you purchase?";
cin >> quantity;
firstresult = price*tax;
secondresult = price + firstresult;
if (quantity > 5)
secondresult += (quantity - 5) * 2.00;
cout << "------------------------" << endl;
cout << "Invoice of Order:" << endl;
cout << name << endl;
cout << author << endl;
cout << isbn << endl;
cout << price << endl;
cout << quantity << endl;
cout << "Total Cost: " << secondresult << endl;
cout << "------------------------" << endl;
return 0;
【问题讨论】:
你不能在同一行定义不同类型的变量。您需要在声明所有这些变量的主文件顶部的每一行末尾使用分号,而不是逗号。来自 clang 的错误消息很清楚问题是什么:godbolt.org/g/CTefhu 对于std::string
输入,您应该使用std::getline(std::cin, stringVariable);
,并且您应该将string
变量定义为空字符串variable = ""
。
【参考方案1】:
您试图声明多个不同类型的局部变量,方法是用逗号,
分隔它们,这是错误的。使用单独的语句来声明变量并应用分号;
。分号标记语句的结束:
string name, author; // you are defining multiple variables of the same type which is fine
double isbn;
float price;
int quantity;
float firstresult;
float secondresult;
const float tax (0.07);
这些不是函数参数,在这种情况下,它们将用逗号分隔。话虽如此,在接受来自标准输入的字符串时,您应该使用std::getline:
std::getline(std::cin, author);
【讨论】:
非常感谢罗恩,非常感谢!以上是关于C++ 编程错误 |未声明的标识符的主要内容,如果未能解决你的问题,请参考以下文章
我在 Visual Studio C++ 中遇到这些错误:“NuovoUtente”:未声明的标识符和“CercareUtente”:未声明的标识符 [关闭]
在 Visual Studio 中使用 C++ 类 - 未声明的标识符错误 [重复]
C语言错误 error C2059: 语法错误:“)”以及 错误error C2065: “sockaddr”: 未声明的标识符
visual C++ vector 未声明的标识符,程序如下,声明没什么错误啊 为什么会这样。