Reference to ‘xxx’ is ambiguous:符号定义重复的常见原因及解决办法
Reference to 'xxx' is ambiguous
是一个 C++ 新手常见的编译错误,从字面上看就是引用某个符号(变量、类名、函数等)的定义不明确,重复。
以下为可能的原因及解决方法:
- 自定义的变量名与系统 lib 库中的变量重名了: 解决办法:修改自己的变量名。
- 有时需要重复的类,但误放在同一命名空间中了: 解决办法:使用不同的命名空间。
- 可能引用了同一个头文件(没有使用#pragma once或#ifndef宏过滤、预编译中引用)导致: 解决办法:要保证只引用一次头文件。