我正在尝试使用未定义大小的矢量创建一个类作为类成员。我的代码:
的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}};
答案 0 :(得分:0)
您应该将以下代码添加到链接选项中:
g++ main.cpp polynom.cpp -std=c++0x
我尝试过这种方法来解决你的问题。