在.h文件中,我有以下代码。

#ifndef COUNTEDLOCATIONS
#define COUNTEDLOCATIONS

#include <iostream>
#include <string>
struct CountedLocations {
CountedLocations();
CountedLocations(std::string url, int counter);
std::string url;
int count;
//below is code for a later portion of the project
bool operator== (const CountedLocations&) const;
bool operator< (const CountedLocations&) const;
};


在包含.h文件的.cpp文件中,我的代码是

#include "countedLocs.h"
#include <iostream>
#include <string>
using namespace std;
CountedLocations(std::string url, int counter)
{

}


我在'url'之前收到错误“ Expected')'。我尝试注释掉.h文件中的空构造函数,尝试弄乱分号,尝试删除前缀为'的std :::字符串url”,但似乎无济于事。我尝试在StackOverflow上查看类似的问题,但所有这三种解决方案均无济于事。如何解决此问题?

编辑:最初,我有

CountedLocations::CountedLocations(std::string url, int counter)


代替

CountedLocations(std::string url, int counter)


但是,这给了我错误信息“ CountedLocations”成员的“额外资格'CountedLocations :::” [-fpermissive],因此我选择不使用它。

最佳答案

在您的cpp文件(而不是头文件)中,您应该具有以下内容:

CountedLocations::CountedLocations(std::string url, int counter)
{

}


不是这个:

CountedLocations(std::string url, int counter)
{

}



  但这给了我错误“额外资格'CountedLocations ::'”
  关于成员“ CountedLocations” [-fpermissive],所以我选择不使用
  它。


如果将限定条件放在类主体中的构造函数的声明中,那将是错误。

关于c++ - 字符串前应有')',STD::不固定,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19961132/

10-11 00:53