未定义大小的矢量作为班级成员

时间:2017-07-02 02:49:00

标签: c++ class vector

我正在尝试使用未定义大小的矢量创建一个类作为类成员。我的代码:

的main.cpp

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

int main() {
    Polynom p {{7,-2,3,0,0,8}};
    return 0;
}

Polynom.h

#ifndef INC_0001_POLYNOM_H
#define INC_0001_POLYNOM_H

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

class Polynom {
private:
    vector<int> vec;
public:
    Polynom(vector<int> vec);
};


#endif //INC_0001_POLYNOM_H

Polynom.cpp

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

Polynom::Polynom(vector<int> vec){
    this->vec=vec;
}

但每当我尝试运行此代码时,我都会遇到以下错误,

main.cpp:7: undefined reference to `Polynom::Polynom(std::vector<int, std::allocator<int> >)'

代码最初较长,但当我尝试运行它时,我遇到了太多错误。所以我试着运行裸骨......

PS:我正在尝试创建一个类,我必须输入例如7,-2,3,0,0,8然后couts 8x ^ 5 + 0x ^ 4 + 0x ^ 3 + 3x ^ 2 + - 2x ^ 1 + 7x ^ 0(使用方法),但未定义我键入的数字。

编辑:我使用CLion,CMakeList是:

cmake_minimum_required(VERSION 3.7)
project(0001)

set(CMAKE_CXX_STANDARD 14)

set(SOURCE_FILES main.cpp)
add_executable(0001 ${SOURCE_FILES})

MinGW version 5.0
Bundled CMake 3.7.2
Bundled GDB 7.11.1

What is an undefined reference/unresolved external symbol error and how do I fix it?

没有帮助,因为我对C ++相对较新,并且在该线程上它写得如此复杂以至于我什么都不懂(甚至在错误消息旁边它与我的问题有什么关系)

根据CLion存在另一个问题,存在参数类型不匹配(At Polynom p {{7,-2,3,0,0,8}};)。这意味着应该存在其他问题。

如何调整我的构造函数,以便它可以通过这种方式构建一个类Polynom p {{7,-2,3,0,0,8}};

1 个答案:

答案 0 :(得分:0)

您应该将以下代码添加到链接选项中:

g++ main.cpp polynom.cpp -std=c++0x

我尝试过这种方法来解决你的问题。