已回答问题,非常感谢。识别字符串
识别字符串
回答
您似乎对变量如何在C++中工作感到困惑。
使用GCC编译程序时,它说:
test.cpp: In function ‘int main()’:
a.cpp:23:20: error: ‘email’ was not declared in this scope
cin >> email;
这意味着,有一个名为email
没有这样的变量。您在emailverify
类中声明了具有该名称的成员变量,但只有在您定义类型为emailverify
的变量时才会使用该变量,但您没有这样做。
现在,我建议你摆脱emailverify
类,并声明需要直接与局部变量在main
变量(你可以声明他们作为全球性的,但它是,如果你让他们更好的地方):
int main()
{
std::string test;
std::string email;
std::string at = "@";
std::string period = ".";
然后还有一大堆其他错误,诸如email.find(at != std::string::npos)
代替email.find(at) != std::string::npos
,但你会得到那些最终。 PS:我知道一些编程老师喜欢编写代码,如std::string at = "@";
,但恕我直言,这只是愚蠢的。写作email.find("@")
是完全正确的,额外的变量买你什么都没有。
你的问题是部分代码:
class emailverify
{
public: // global variables/functions
std::string test;
std::string email;
std::string at = "@";
std::string period = ".";
};
不定义全局变量或函数,但声明类。没有定义或声明主函数中的电子邮件或测试变量。
如果你想坚持到全局的东西,你所能做的就是创造型emailverify的全局对象,并通过.
使用其成员或使所有的人static
,并获得通过::
(emailverify::test
)或改变class
到namespace
,但它需要在课堂外定义它们(Defining static members in C++)。
但是,您可以将它们当作当地人使用,不必担心所有这些。
我只是试图做到这一点,并没有足够理解它能够实现全局变量。 :/谢谢! –
- 1. 识别字符串
- 2. 识别字符串
- 3. 识别与字符串
- 4. 识别与字符串
- 5. 隔离/识别字符串c#的封装部分(识别子字符串)
- 6. 字符串,如何识别字母
- 7. Python:识别数字字符串?
- 8. 识别node.js中字符串的数字
- 9. 字符识别
- 10. web api put识别查询字符串,但不识别身体
- 11. 在Tcl中识别为空双字符串的空字符串
- 12. 数组字符串不被识别为数组字符串
- 13. 识别字符串中的字符串两者之间在iphone
- 14. SWIG无法识别字符串参数
- 15. DateTime.parse字符串未被识别
- 16. 查询字符串无法识别
- 17. Android Studio中无法识别字符串
- 18. 如何识别字符串“表示”?
- 19. ANTLR - 字符串识别错误
- 20. javac还不能识别字符串
- 21. 特定字符串识别与提取
- 22. strpos无法识别字符串
- 23. 模式识别和字符串匹配
- 24. Java输入不识别字符串
- 25. 识别唯一的字符串
- 26. rangeOfString不识别子字符串
- 27. DictVectorizer识别功能作为字符串
- 28. UTF8字符串部分不被识别
- 29. 如何识别一个字符串对
- 30. 无法识别的字符串值R
非常感谢!我只是试图使用这门课,因为我们的老师建议我们使用它。 –
@ A.j.Schenker:啊,我看不出一个班级在这里有用。但是如果你想尝试一下,你必须定义一个类的变量'int main(){emailverify e;',然后引用成员变量为'e.test','e.email'等。但是要小心你声明的那个本地'test'变量,这与'e.test'不同。 – rodrigo