国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

call to non-‘constexpr‘ function

這篇具有很好參考價值的文章主要介紹了call to non-‘constexpr‘ function。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

call to non-‘constexpr’ function

概述

在嘗試遷移 openpnp - Smoothieware project 從gcc命令行 + MRI調(diào)試方式 到NXP MCUXpresso工程.
在加了頭文件路徑后, 還有一些語法錯誤. 這和編譯器語法有關(guān)系.
在運行BuildShell.cmd后, 查看gcc版本如下.

D:\3rd_prj\Smoothieware_best-for-pnp>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/9.2.0/lto-wrapper.exe
Target: mingw32
Configured with: ../src/gcc-9.2.0/configure --build=x86_64-pc-linux-gnu --host=mingw32 --target=mingw32 --disable-win32-registry --with-arch=i586 --with-tune=generic --enable-static --enable-shared --enable-threads --enable-languages=c,c++,objc,obj-c++,fortran,ada --with-dwarf2 --disable-sjlj-exceptions --enable-version-specific-runtime-libs --enable-libgomp --disable-libvtv --with-libiconv-prefix=/mingw --with-libintl-prefix=/mingw --enable-libstdcxx-debug --disable-build-format-warnings --prefix=/mingw --with-gmp=/mingw --with-mpfr=/mingw --with-mpc=/mingw --with-isl=/mingw --enable-nls --with-pkgversion='MinGW.org GCC Build-2'
Thread model: win32
gcc version 9.2.0 (MinGW.org GCC Build-2)

Smoothieware使用c++寫的.
其中一條錯誤如下:

描述	資源	路徑	位置	類型
call to non-'constexpr' function 'uint16_t get_checksum(const char*)'	checksumm.h	/my_Smoothieware_best-for-pnp/src/libs	第 162 行	C/C++ Problem

call to non-‘constexpr‘ function

查了一下這條錯誤的原因, 就是語法錯誤.
在switch的case處, 用了常量表達式函數(shù)(一個函數(shù)來代替常量, 這個函數(shù)在編譯期就能確定值), 那么這個常量表達式就必須標記為constexpr
使用constexpr比宏更好, 更明確.
做了一個實驗, 可以正常使用constexpr了.

// ConsoleApplication2.cpp : 此文件包含 "main" 函數(shù)。程序執(zhí)行將在此處開始并結(jié)束。
//

#include <iostream>

// constexpr 是c++11的語法, vs2022默認的最低編譯器是c++14, 符合要求.
// constexpr好處是不用再寫宏. 而是由編譯器在編譯時, 就能確定一個常量表達式的值. 這個常量表達式是有值類型的, 比宏好.

// 如果函數(shù)需要作為常量表達式, 必須標記為 constexpr
constexpr int test(int x, int y)
{
    return (x + y);
}

int inum_ary[test(1,2)];

class cls_adc {
public:
    cls_adc()
    {

    }

    virtual ~cls_adc()
    {

    }

    int get_x()
    {
        return inum_ary[2];
    }

    static const int i_ary_cnt = test(1, 2); // 如果constexpr函數(shù)的值要間接作為一個常量用, 這個常量必須為 static const type
    int inum_ary[i_ary_cnt];
};

int main()
{
    std::cout << "Hello World!\n";
    int i = 0;

    cls_adc case1;
    printf("get_x() = %d\n", case1.get_x());

    for (i = 0; i < case1.get_x(); i++)
    {
        switch (i)
        {
            // 作為case使用時的常量表達式函數(shù), 必須標記為 constexpr
        case test(0, 1):
            printf("bp1\n");
            break;

        default:
            break;
        }
    }

    system("pause");
}

備注

在具體工程中的錯誤, 在具體去改.
不清楚為啥同樣的代碼, 在gcc命令行 + makefile下就能編譯過. 也許是編譯器命令行不同. 以后有興趣再查.
現(xiàn)在先嘗試將代碼中的語法限定先改了, 能在MCUXpresso工程中編譯過再說.文章來源地址http://www.zghlxwxcb.cn/news/detail-444191.html

END

到了這里,關(guān)于call to non-‘constexpr‘ function的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 傳統(tǒng)軟件集成AI大模型——Function Calling

    傳統(tǒng)軟件集成AI大模型——Function Calling

    目前為止好多人對chatGPT的使用才停留在OpenAI自己提供的網(wǎng)頁端上,也許對GPT的了解還不夠深入。最近稍微看了些大模型相關(guān)的內(nèi)容深刻感覺到大模型技術(shù)對軟件行業(yè)的影響。 本人并非數(shù)學專業(yè),對大模型的理解也僅僅只是看了下transformar模型以及簡單fine turn的原理。 了解到

    2024年02月03日
    瀏覽(17)
  • 【Azure OpenAI】OpenAI Function Calling 101

    本文是結(jié)合 github:OpenAI Function Calling 101在 Azure OpenAI 上的實現(xiàn): Github Function Calling 101 如何將函數(shù)調(diào)用與 Azure OpenAI 服務(wù)配合使用 - Azure OpenAI Service 使用像ChatGPT這樣的llm的困難之一是它們不產(chǎn)生結(jié)構(gòu)化的數(shù)據(jù)輸出。這對于在很大程度上依賴結(jié)構(gòu)化數(shù)據(jù)進行系統(tǒng)交互的程序化系

    2024年02月10日
    瀏覽(17)
  • 【OpenAI】ChatGPT函數(shù)調(diào)用(Function Calling)實踐

    6月13日OpenAI在Chat Completions API中添加了新的函數(shù)調(diào)用(Function Calling)能力,幫助開發(fā)者通過API方式實現(xiàn)類似于ChatGPT插件的數(shù)據(jù)交互能力。 本文在作者上一篇文章《私有框架代碼生成實踐》的基礎(chǔ)上,依舊使用自然語言低代碼搭建場景作為案例,將嵌入向量搜索(Embedding)獲

    2024年02月12日
    瀏覽(18)
  • 【JavaScript】Function的祖?zhèn)鞣椒╟all與apply

    【JavaScript】Function的祖?zhèn)鞣椒╟all與apply

    看了本文您能了解到的知識! 在本篇文章中,將帶你了解 什么是call和apply , call和apply的用途 、如何手寫 call 和 apply 以及 call 和 apply 的使用場景。 call() 和 apply() 是 JavaScript 中的兩個內(nèi)置方法,用于調(diào)用函數(shù)并指定函數(shù)中的 this 值。 兩者的區(qū)別是: call() 方法的語法和作用

    2024年02月17日
    瀏覽(33)
  • AIGC: 關(guān)于ChatGPT中Function Call的調(diào)用

    Function Call 概念 關(guān)于 GPT 中API的function參數(shù),提供了一些能力 這個函數(shù)調(diào)用是 Open AI 在2023年的6.13號發(fā)布的新能力 根據(jù)它的官方描述, 函數(shù)調(diào)用能力可以讓模型輸出一個請求調(diào)用函數(shù)的消息 其中包含所需調(diào)用函數(shù)的信息,以及調(diào)用函數(shù)時所需攜帶的參數(shù)的信息 這種方式是一種

    2024年02月04日
    瀏覽(25)
  • 【JavaScript】手撕前端面試題:手寫Object.create | 手寫Function.call | 手寫Function.bind

    【JavaScript】手撕前端面試題:手寫Object.create | 手寫Function.call | 手寫Function.bind

    ??? NodeJS專欄:Node.js從入門到精通 ??? 博主的前端之路(源創(chuàng)征文一等獎作品):前端之行,任重道遠(來自大三學長的萬字自述) ??? TypeScript知識總結(jié):TypeScript從入門到精通(十萬字超詳細知識點總結(jié)) ?????個人簡介:大三學生,一個不甘平庸的平凡人?? ??

    2024年02月21日
    瀏覽(42)
  • 【OpenAI】ChatGPT函數(shù)調(diào)用(Function Calling)實踐 | 京東云技術(shù)團隊

    6月13日OpenAI在Chat Completions API中添加了新的函數(shù)調(diào)用(Function Calling)能力,幫助開發(fā)者通過API方式實現(xiàn)類似于ChatGPT插件的數(shù)據(jù)交互能力。 本文在作者上一篇文章《私有框架代碼生成實踐》的基礎(chǔ)上,依舊使用自然語言低代碼搭建場景作為案例,將嵌入向量搜索(Embedding)獲

    2024年02月12日
    瀏覽(19)
  • 大模型開發(fā)(十一):Chat Completions模型的Function calling功能詳解

    大模型開發(fā)(十一):Chat Completions模型的Function calling功能詳解

    授權(quán)聲明: 本文基于九天Hector的原創(chuàng)課程資料創(chuàng)作,已獲得其正式授權(quán)。 原課程出處:九天Hector的B站主頁,感謝九天Hector為學習者帶來的寶貴知識。 請尊重原創(chuàng),轉(zhuǎn)載或引用時,請標明來源。 全文共6000余字,預計閱讀時間約15~25分鐘 | 滿滿干貨(附代碼案例),建議收藏!

    2024年02月16日
    瀏覽(22)
  • 開源模型應(yīng)用落地-工具使用篇-Spring AI-Function Call(八)

    開源模型應(yīng)用落地-工具使用篇-Spring AI-Function Call(八)

    ? ? 通過“開源模型應(yīng)用落地-工具使用篇-Spring AI(七)-CSDN博客”文章的學習,已經(jīng)掌握了如何通過Spring AI集成OpenAI和Ollama系列的模型,現(xiàn)在將通過進一步的學習,讓Spring AI集成大語言模型更高階的用法,使得我們能完成更復雜的需求。 ? 是 Spring 生態(tài)系統(tǒng)的一個新項目,它

    2024年03月14日
    瀏覽(27)
  • 最新版KEIL error: non-ASM statement in naked function is not supported或者 ‘__STATIC_INLINE‘

    最新版KEIL error: non-ASM statement in naked function is not supported或者 ‘__STATIC_INLINE‘

    最新的KEIL5版本使用的默認的版本6的編譯器,而固件庫還是支持版本5的編譯器 所以下面重新選keil5的編譯器,但是我這邊只有version6的編譯器怎么辦呢 可以到如下 官網(wǎng)下載 右上角搜索Arm Compiler for Embedded 找到如下界面 選擇紅框內(nèi)容選擇舊版本 需要注冊填寫信息才能下載 h

    2024年01月25日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包