Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 识别字符串 问题已经得到解答,非常感谢。_C++_String_Visual C++ - Fatal编程技术网

C++ 识别字符串 问题已经得到解答,非常感谢。

C++ 识别字符串 问题已经得到解答,非常感谢。,c++,string,visual-c++,C++,String,Visual C++,你似乎对变量如何在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类型的变量时才会使用该变量,而您

你似乎对变量如何在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
中的局部变量(您可以将它们声明为全局变量,但最好将它们保留为局部变量):

然后还有一系列其他错误,例如
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类型的全局对象并使用其成员,或者通过
将所有对象设置为静态对象并通过
::
emailverify::test
)进行访问,或者将
更改为
命名空间
,但这也需要在类之外定义它们()


但是,你可以把他们当作本地人使用,现在不用担心这些。

非常感谢!我之所以尝试使用这门课,是因为我们的老师建议我们使用它。@A.j.Schenker:啊,我看不出一门课在这里有什么用处。但是如果您想尝试,您必须定义该类的变量
intmain(){emailverify e;
,然后将成员变量称为
e.test
e.email
,等等。但是请注意您声明的本地
test
变量,它将与
e.test
不同。我只是试着这么做,但对它的理解还不够透彻,无法实现全局变量。/谢谢!
class emailverify
{
public:             // global variables/functions
    std::string test;
    std::string email;
    std::string at = "@";
    std::string period = ".";
};