C 标头可以称为vector.h或matrix.h
Can C++ Headers be called vector.h or matrix.h?
我在C 项目中包含问题。我包括了Math.h,但是我的vector.h和我的matrix.h头文件存在奇怪的问题。我可以允许调用这些文件vector.h and matrix.h?
两个标头不能具有相同的名称。
以同一名称暗示完整的路径名,所以
#inlcude "testClass.h"
#include "heders/testClass.h" // OK, distinguishable
Visual Studio可防止您添加一个项目中已经存在的名称的标头。
您还应该检查您的标题是否实际上包含在项目中(或通过MakeFile,Build System等)。快速检查是在该标头中导致句法错误,看看它是否破坏了构建
因此,要回到您的问题,您是否已经有名为vector.h and Matrix.h的标题?因为那将是唯一阻止您命名这样的新标题的事情。请记住,#include< ...>要求将其文件夹设置为包含(外部)目录,因此将其限定到该路径
在理论上我不知道任何禁止这样做的事情。
我会考虑vector.h
足够接近<vector>
,这将是一个糟糕的想法。
我也不对matrix.h
感到兴奋,但至少不是一个很差的选择。
当然,对于您写过的任何标题(而不是您使用的工具提供的标题),您想将名称包装在引号而不是角度括号中。
<</p>基本原理为什么C 选择了没有后缀的不寻常的<vector>
格式是因为意图是与现有的C代码保持兼容,这很可能具有"vector.h"
。因此,答案是YES, by Design 。
相关文章:
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 在c++中用vector填充一个简单的动态数组
- vector.resize()中的分配错误
- 使用std::vector的OpenCL矩阵乘法
- POCO::PostgreSQL:如何将std::vector支持添加到`Binder::bind`
- 在某些循环内使用vector.push_back时出现分段错误
- 当vector是tje全局变量时,c++中vector的内存管理
- std::vector的包装器,使数组的结构看起来像结构的数组
- 为什么(-1)%vector::size()总是返回0
- 在C++中将类(带有Vector成员)保存为二进制文件
- 编译器如何区分std::vector的构造函数
- 将 int 数组转换为 std::vector<int*>
- 使用 pqxx 将 std::vector 存储在 postgresql 中,并从数据库中检索它
- 在std::vector上存储带有模板的类实例
- 如何将 Eigen::Matrix 映射到 std::vector<Eigen::vector>?
- 有一个具有映射到 std::vector 属性的 Eigen::matrix 属性的类
- C 标头可以称为vector.h或matrix.h
- Natvis Visual Studio 2012 Boost Vector and Matrix
- OpenGL ES Matrix/Vector-Transform different than on desktiop
- Wrong matrix reading with vector<vector<int>> on