【发布时间】:2012-12-16 13:31:13
【问题描述】:
我有这样的设置
文件.h:
#pragma once
namespace a {
int home(double a, double b, ...
class b {
int la();
};
}
文件.cpp
#include "file.h"
using namespace a;
int home(double a, double b, ...) {
//function stuff
}
int b::la() {
home(1, 2, ...)
}
b 被实例化并在 main 中使用,如下所示:
#include "file.h"
b instant;
instant.la()
但我在使用函数home 的任何地方都收到此链接器错误:
undefined reference to `a::home(double, double, ...)'
In function a::b::la()
我很确定所有 CMakelist 都已正确设置,并且所有内容都包含在内。
但是当我将 file.cpp 更改为在命名空间中时:
namespace a {
all of the same stuff
}
而且效果很好?
任何想法为什么会发生这种情况?
【问题讨论】:
标签: c++ function namespaces