代码重定义

本文探讨了代码重定义问题及其在编译过程中的影响。介绍了如何通过#ifndef、#pragma once和匿名命名空间来避免头文件重复包含导致的重定义错误。并解释了不同链接属性的作用,强调头文件应只包含变量声明,避免定义,特别是对于const修饰的变量要理解其链接属性。
摘要由CSDN通过智能技术生成

引言

    重定义,简而言之就是同一个变量定义了两次或者多次。如下面的代码所示,在test.h中定义了一个类,但是我在add.h中和main.cpp中都引用了test.h文件,这时候在编译的过程中会产生错误。

测试代码

/*****test.h*****/
class Test{
   
public:
    int i;
};
/*****add.h*****/
#include "test.h"

int Add1(int a,int b);
/*****add.cpp*****/
#include <iostream>
#include "add.h"

int Add1(int a, int b)
{
   
  Test test_add;
  std::
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值