大小未定义为类成员的向量

Vector with undefined size as Class member

本文关键字:成员 向量 未定义      更新时间:2023-10-16

我正在尝试创建一个类,其中向量的大小未定义为类成员。我的代码:

主.cpp

#include "Polynom.h"
#include <iostream>
#include <vector>
using namespace std;
int main() {
Polynom p {{7,-2,3,0,0,8}};
return 0;
}

多项式

#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

多项式.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

什么是未定义的引用/未解析的外部符号错误,如何解决?

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

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

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

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

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

我尝试了这种方法来解决您的问题。