这是" Code :: Blocks"或者我做错了什么

时间:2017-04-30 18:05:36

标签: c++ ide codeblocks build-error

我在code :: blocks IDE中创建了这个简单的c ++程序:

#include <iostream>
#include "funct.cpp"
using namespace std;

int main()
{
    float a, b;
    cout << "enter a : ";
    cin >> a;
    cout << "enter b : ";
    cin >> b;
    cout << "\n\nThe result is: " << funct(a, b) << "\n";
    return 0;
}

和这个功能:

#include <iostream>

using namespace std;

float funct(float x, float y)
{
    float z;
    z=x/y;
    return z;
}

当我通过创建新的空文件在IDE中创建函数并尝试构建程序时,它返回此错误:

enter image description here

但是当我通过文本编辑器手动创建相同的函数文件并将其放在项目的同一文件夹中时,它工作正常,编译器可以构建它而没有错误。

这是因为我做错了什么还是IDE中的错误?

你可以帮我解决这个问题吗?

并提前致谢。

2 个答案:

答案 0 :(得分:1)

你搞乱了这个项目:

你应该做的第一个是创建头文件 function.h function.hpp ,在那里放置函数的头部

<强> function.h

float funct(float x, float y);

然后是

function.cpp :这是具体实施的地方:

float funct(float x, float y)
{
    float z;
    z = x / y;
    return z;
}

然后您就可以将其包含在另一个文件中:

#include <iostream>
#include "funt.h"
using namespace std;

int main()
{
    float a, b;
    cout << "enter a : ";
    cin >> a;
    cout << "enter b : ";
    cin >> b;
    cout << "\n\nThe result is: " << funct(a, b) << "\n";
    return 0;
}

你可以肯定看到一个没有标题

的脏/ not_good-practice版本

在该版本中不需要包含,但您需要对所需的功能进行原型设计

function.cpp :这是具体实施的地方:

float funct(float x, float y)
{
    float z;
    z = x / y;
    return z;
}

和主要:

#include <iostream>
using namespace std;
float funct(float x, float y);

int main()
{
    float a, b;
    cout << "enter a : ";
    cin >> a;
    cout << "enter b : ";
    cin >> b;
    cout << "\n\nThe result is: " << funct(a, b) << "\n";
    return 0;
}
如上所述Neil Butterworth所说,不得包含cpp文件..

答案 1 :(得分:0)

不要包含.cpp文件。而是将函数的前向声明放在.h或.hpp文件中,该文件看起来像float funct(float x, float y);,并包含该文件。