我对指针感到困惑。阅读一些关于他们的文章,并认为我得到了它们,但我似乎没有。我想创建一个团队“Team1”,我通常会由Team Team1创建;我将Team1的名称存储为来自文本文件的读取输入的字符串,并且我认为我可以通过指针创建此团队。
#include <iostream>
#include <string>
#include <vector>
class Team
{
private:
std::string m_teamname;
};
int main()
{
std::string wort = "team1";
std::string* pointer;
pointer = &wort;
std::string wort2 = *pointer;
std::cout << wort2;
Team *pointer;
std::cin.get();
}
我收到错误C2371:'指针':重新定义;不同的基本类型“这是相当自我规划,但我仍然不明白为什么它不起作用*指针显示存储字符串”team1“的地址。有没有办法做到这一点?
答案 0 :(得分:2)
这与指针本身无关。您使用不同的类型两次定义相同的变量(如错误所示:&#34;指针:重新定义&#34;)。
std::string* pointer;
...
Team *pointer;
您定义了一个名为pointer
的变量,其类型为std::string*
,但您尝试定义另一个具有相同名称的变量。您必须将其中一个重命名为其他内容。
您遇到任何类型的同一问题:
int x;
double x; // <- error: there's already an x