C2011“ ...”:'类'类型的重新定义问题C ++

时间:2018-11-11 21:22:32

标签: c++ visual-c++

我的代码有小问题。我已经尝试了20个帖子,甚至没有一个解决方案起作用。也许是另一个问题。我不知道。有谁能够帮助我?我不能自己通过。

rootTe.h

#pragma once
class Root { 
public:
double a, b, c, x1, x2, x;

Root(double, double, double); //inline?

void roots(unsigned int);

double getX1();
double getX2();
double getX();
};

rootTe.cpp

#include <iostream>
#include <cmath>
#include "rootException.h" 
#include "rootTest.h"

class Root { 
public:
double a, b, c, x1, x2, x;

Root(double a2, double b2, double c2) {
    a = a2;
    b = b2;
    c = c2;
}

void roots(unsigned int m) {
    ...
}

double getX1() {
    return x1;
}

double getX2() {
    return x2;
}

double getX() {
    return x;
}
};

1 个答案:

答案 0 :(得分:1)

您两次定义类Root

在C ++中,使用单独的声明和定义,应使用以下代码段:

#include "rootTest.h"

Root::Root(double a2, double b2, double c2) {
    a = a2;
    b = b2;
    c = c2;
}

void Root::roots(unsigned int m) {
    ...
}

以此类推。