我必须使用DLL提供的带有这样的 header 的API

namespace ALongNameToType {
    class ALongNameToType {
        static void Foo();
    }
}

有没有一种方法可以使用ALongNameToType::ALongNameToType::Foo而不必每次都键入ALongNameToType::ALongNameToType?我尝试使用using namespace ALongNameToType,但在Visual Studio中出现了不明确的符号错误。更改 namespace 名称或将其删除会给我链接器错误。

最佳答案

我不知道什么是模棱两可的,但是您可以避免与其他Foo函数的所有冲突,例如:

namespace ALongNameToType {
    struct ALongNameToType {
        static void Foo();
    };
}

typedef ALongNameToType::ALongNameToType Shortname;

int main() {
    Shortname::Foo();
}

08-16 00:46