亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 Python 調用帶有默認參數的 C++ 函數

從 Python 調用帶有默認參數的 C++ 函數

陪伴而非守候 2023-10-11 22:47:01
我已經從 DLL 導出了這個簡單的函數(我在 MSVC2015、Windows 10、x64 中工作):// Main.h#define DLL_SEMANTICS __declspec (dllexport)extern "C"{    DLL_SEMANTICS int CheckVal(const int x, const int y = 1);}代碼:// Main.cpp    int CheckVal(const int x, const int y)    { cout << y << endl; return 0; }}根據這個SO線程,使用extern "C"應該不是問題,事實上,當從exe文件調用這個函數時,我得到了想要的結果(即,控制臺的“1”),但是當我使用Python從Python調用這個函數時:import ctypesfrom ctypes import cdlldllPath = r"C:\MyDll.dll"lib = cdll.LoadLibrary(dllPath)lib.CheckVal(ctypes.c_int(1))我正在打印一些垃圾值(通過 PTVS 調試確認這y確實是垃圾值。)我是否做錯了什么或者默認參數無法在 Python 中工作?
查看完整描述

1 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

默認參數是 C++ 的一個優點。如果您在 C++ 外部調用,則需要傳遞兩個參數。



查看完整回答
反對 回復 2023-10-11
  • 1 回答
  • 0 關注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號