小编Bac*_*acu的帖子

对于"long"类型,整数常量太大

可能重复:
C/C++中的long long

为项目Euler问题编写一个简单的程序.拒绝编译,因为"整数常量对于"long"类型"来说太大,即使它应该在unsigned long long的大小限制内.使用dev-c ++编译器.

有问题的代码:

#include <iostream>

bool isprime (unsigned long long i)
{
    if(i==1||i==0) return false;
    if(i==2) return true;
    for(unsigned long long k=2;k!=i-1;k++)
    {      
        if(i%k==0) return false;
    }
    return true;
}

int main()
{
    for(unsigned long long i=600851475143;i>=0;i--) //problematic line
    {
        if(isprime(i))
        {
            std::cout<<i;
            std::cin.get();
            return 0;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ dev-c++

18
推荐指数
1
解决办法
3万
查看次数

C++错误:不允许抽象类类型的对象:纯虚函数没有覆盖

遗产有问题.我不知道我做错了什么.

FigureGeometry.h

    #ifndef FIGUREGEOMETRY
#define FIGUREGEOMETRY

static const float PI = 3.14159f;

class FigureGeometry
{

public:
    virtual float getArea() const = 0;
    virtual float getPerimeter() const = 0;
};

#endif
Run Code Online (Sandbox Code Playgroud)

Circle.h

    #ifndef CIRCLE
#define CIRCLE

#include "FigureGeometry.h"

class Circle:public FigureGeometry
{
    float radius;
public:
    Circle(float theRadius)
    {
        radius = theRadius;
    }
    float getRadius() {return radius;}
    float getArea() {return getRadius() * getRadius() * PI;}
    float getPerimeter() {return getRadius() * 2 * PI;}
};

#endif
Run Code Online (Sandbox Code Playgroud)

然后在main.cpp中,在包含"Circle c1(5);"我的行上得到错误:

21  IntelliSense: object …
Run Code Online (Sandbox Code Playgroud)

c++

12
推荐指数
1
解决办法
4万
查看次数

标签 统计

c++ ×2

dev-c++ ×1