提问人:SnowArtz 提问时间:4/14/2021 更新时间:4/14/2021 访问量:330
C++:对“NameSpace::Class::Constructor”的未定义引用
C++: Undefined reference to 'NameSpace::Class::Constructor'
问:
我从 C++ 开始,我正在尝试创建一个类程序,但是,当我尝试运行时出现错误:C++:未定义对“NameSpace::Class::Constructor”的引用。代码如下图所示:
ClassA 的标头:
//ClassA.h
#ifndef CLASSA_H
#define CLASSA_H
#include <string>
namespace ClassANameSpace
{
class ClassA
{
private:
std::string attribute1;
double attribute2;
public:
ClassA();
ClassA(std::string pAttribute1, double pAttribute2);
void setClassA(std::string pAttribute1, double pAttribute2);
std::string getAttribute1() { return attribute1; }
double getAttribute2() { return attribute2; }
};
}
#endif
A类:
//ClassA.cpp
#include "ClassA.h"
using namespace ClassANameSpace;
ClassA::ClassA()
{
}
ClassA::ClassA(std::string pAttribute1, double pAttribute2)
{
setClassA(pAttribute1, pAttribute2);
}
void ClassA::setClassA(std::string pAttribute1, double pAttribute2)
{
attribute1 = pAttribute1;
attribute2 = pAttribute2;
}
主要:
// main.cpp
#include <iostream>
#include "ClassA.h"
using namespace std;
using namespace ClassANameSpace;
int main(int argc, char const *argv[])
{
ClassA classA ("string", 1.0);
return 0;
}
当我尝试运行时,它出现:对“ClassANameSpace::ClassA::ClassA(std::__cxx11::basic_string<char, std::char_traits, std::allocator >, double)' 的未定义引用
有人可以指导我去了解发生了什么?
答: 暂无答案
评论
using namespace
g++ -std=c++11 main.cpp ClassA.cpp