C/C++编译报错printf was not declared in this scope问题及解决

 更新时间:2023年08月04日 14:21:51   作者:Summer丶snow  
这篇文章主要介绍了C/C++编译报错printf was not declared in this scope问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

C C++编译报错printf was not declared in this scope

原因是这个 printf  函数需要头文件 "stdio",但是程序中没写,解决办法是在头文件中加入此头文件。

C语言加入

#include<stdio.h>

C++加入  

#include<cstdio>

C C++常见编译错误提示释义

1.iteration 16 invokes undefined behavior**

常见于对数组的操作,数组溢出错误。

数组定义为20个字节,而for循环判断条件应为<20

  uint8_t oldrelay[20]  = { 0U };
  for ( i = INDUCTOR_160nH; i <= 20; i++ )
    {
        oldrelay[ i ] = SET;
        relay[ i ] = RESET;
    }

2.warning: excess elements in array initializer**

数组元素比定义元素多

3.passing argument 1 of ‘sprintf’ discards ‘volatile’ qualifier from pointer target type**

加上强制转换

volatile uint8_t str[10];
sprintf((char*)str,“0”);

4.in expansion of macro

宏定义错误

在头文件中避免短宏定义,容易重复;例如

//#define SIZE 24
prop_name 参数为 SIZE
LV_STYLE_##prop_name

预编译为 LV_STYLE_24 出错

C C++编译错误整理

面这些是我自己在学习工作遇到的编译问题,以及可行的解决办法,整理一下,也方便自己及时查阅   ︿( ̄︶ ̄)︿︿( ̄︶ ̄)︿︿( ̄︶ ̄)︿

1.VC打开已存在的工程提示错误 C1083:缺少 *.pch

问题解决:

Project->c/c++,然后点击Category的下拉框,选择Precompiled Headers,

接着选择第二项,Automatic use of precompiled headers ,  编辑框里填 *.h  ,这样做的前提是你的 *.h 和 *.cpp 都已存在。

问题就解决了。

2.VS打开已存在工程,出现 error MSB3073

英文版处理办法: 

  • Project->Configuration Properties->General->Target Extension设置为.ocx 或者.dll
  • Project->Configuration Properties->Linkerl->General ->Output File设置为$(OutDir)$(ProjectName)$(TargetExt)

中文版处理办法: 

  • 在项目上点右键,选择“属性”->“配置属性”->“常规”->“目标文件扩展名”,设置为.ocx 或者.dll
  • 在项目上点右键,选择“属性”->“配置属性”->“链接器”->“ 常规 ”->“输出文件”,设置为$(OutDir)$(ProjectName)$(TargetExt)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C++实现控制台版扫雷程序

    C++实现控制台版扫雷程序

    这篇文章主要为大家详细介绍了C++实现控制台版扫雷程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • C++ STL容器stack和queue详解

    C++ STL容器stack和queue详解

    这篇文章主要介绍了C++ STL容器stack和queue详解的相关资料,需要的朋友可以参考下
    2016-10-10
  • C++ main函数中的argc与argv全面解析

    C++ main函数中的argc与argv全面解析

    C/C++中的main函数可以接受命令行参数,通过argc和argv来传递这些参数,argc表示参数总数,argv是一个字符串数组,包含具体的参数,本文介绍C++ main函数中的argc与argv,感兴趣的朋友跟随小编一起看看吧
    2026-03-03
  • Opencv实现轮廓提取功能

    Opencv实现轮廓提取功能

    这篇文章主要为大家详细介绍了Opencv实现轮廓提取功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • C语言实现哈夫曼编码

    C语言实现哈夫曼编码

    这篇文章主要为大家详细介绍了C语言实现哈夫曼编码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • C++中sprintf()函数的使用详解

    C++中sprintf()函数的使用详解

    本篇文章是对C++中sprintf()函数的使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++实现LeetCode(142.单链表中的环之二)

    C++实现LeetCode(142.单链表中的环之二)

    这篇文章主要介绍了C++实现LeetCode(142.单链表中的环之二),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C语言超详细讲解数据结构中的线性表

    C语言超详细讲解数据结构中的线性表

    线性表,数据结构中最简单的一种存储结构,专门用于存储逻辑关系为"一对一"的数据。线性表是基于数据在实际物理空间中的存储状态,又可细分为顺序表(顺序存储结构)和链表
    2022-05-05
  • C++实现俄罗斯方块(linux版本)

    C++实现俄罗斯方块(linux版本)

    这篇文章主要为大家详细介绍了linux版本C++实现俄罗斯方块,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • 基于C++制作一个简单的跑酷游戏

    基于C++制作一个简单的跑酷游戏

    这篇文章主要为大家详细介绍了如何利用C++制作一个简单的跑酷小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2023-06-06

最新评论