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语言实现桌面贪吃蛇小游戏,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • C/C++中使用局部/全局变量初始值或默认值问题

    C/C++中使用局部/全局变量初始值或默认值问题

    这篇文章主要介绍了C/C++中使用局部/全局变量初始值或默认值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • 树形结构的3中搜索方式示例分享

    树形结构的3中搜索方式示例分享

    树的3中常见搜索方式,包括二叉树方式(每一层只有0和1)、满m叉树(每一层都有0 到m - 1)、子集树,也称为全排列树,需要的朋友可以参考下
    2014-02-02
  • C++11、C++14、C++17、C++20常用新特性

    C++11、C++14、C++17、C++20常用新特性

    本文主要介绍了C++11、C++14、C++17、C++20常用新特性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • C语言实现纸牌计算24点小游戏

    C语言实现纸牌计算24点小游戏

    这篇文章主要为大家详细介绍了C语言实现纸牌计算24点小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 关于C++地址交换的实现

    关于C++地址交换的实现

    在C++中,地址交换通常是指通过指针操作改变两个变量之间的内存地址引用,当你有两个指针分别指向两个变量时,你可以通过某种机制交换这两个指针的内容,使得它们各自指向对方原来的位置,本介绍了关于C++地址交换的实现,需要的朋友可以参考下
    2024-11-11
  • C++之构造函数默认值设置方式

    C++之构造函数默认值设置方式

    这篇文章主要介绍了C++之构造函数默认值设置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • c++ lambda捕获this 导致多线程下类释放后还在使用的错误问题

    c++ lambda捕获this 导致多线程下类释放后还在使用的错误问题

    Lambda表达式是现代C++的一个语法糖,挺好用的。但是如果使用不当,会导致内存泄露或潜在的崩溃问题,这里总结下c++ lambda捕获this 导致多线程下类释放后还在使用的错误问题,感兴趣的朋友一起看看吧
    2023-02-02
  • C语言使用rand函数生成随机数

    C语言使用rand函数生成随机数

    这篇文章介绍了C语言使用rand函数生成随机数的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • C语言三子棋小游戏的实现代码

    C语言三子棋小游戏的实现代码

    这篇文章主要为大家详细介绍了C语言三子棋小游戏的实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11

最新评论