C++ 需要一个声明(C+;+;)

C++ 需要一个声明(C+;+;),c++,C++,我现在不知道我错过了什么,但VisualStudio在第12行点击,并说“期待一个声明”和“期待一个”;“”在代码末尾。 有一个代码: #include <string> #include <math.h> using namespace std; class DigPow { public: static int digPow(int n, int p) { int tmpnumb = 0; string temp = to_string

我现在不知道我错过了什么,但VisualStudio在第12行点击,并说“期待一个声明”和“期待一个”;“”在代码末尾。 有一个代码:

#include <string>
#include <math.h>  

using namespace std;

class DigPow
{
public:
  static int digPow(int n, int p)
  {
    int tmpnumb = 0;
    string temp = to_string(n);
    for (int i = 0; i<temp.length();i++)
    {
      tmpnumb += pow (temp[i],p);
      p++;
    }
    for (int i = 1; ;i++)
    {
      if (tmpnumb*i == n)
      {
        return i;
      }      
      if (tmpnumb*i > n)
      {
        return -1;
      }

    }

  }
};
#包括
#包括
使用名称空间std;
类DigPow
{
公众:
静态int-digPow(int-n,int-p)
{
int-tmpnumb=0;
字符串温度=至字符串(n);
对于(int i=0;i n)
{
返回-1;
}
}
}
};

。您没有main()函数。此外,不包括。注意length()返回的是size\u t而不是int。一个是无符号整数,另一个是有符号整数是否也是原始代码中的第12行?请包含完整的错误消息为什么要编写一个只包含一个静态函数的类
DigPow
。为什么不直接编写函数并删除类呢?在C++中,你不必把所有的东西都放在一个类中。顺便说一句,和其他人一样,我无法重现您的错误。如果一个看似不存在的问题持续存在,这可能是Visual Studio Intellisense的糟糕一天。尝试右键单击源代码->
重新扫描
(在底部)->
重新扫描文件
重新扫描解决方案
。此外,您可能需要
重建