void 型別不能用來初始化char 型別的實體

2021-10-10 13:28:25 字數 710 閱讀 9384

最近在看黑馬c++教程,他們直接用test02()函式是可以直接執行的,而我用的是vs2019,會報錯, 報錯內容為:void 型別不能用來初始化char* 型別的實體。

檢視了一些方法比如定義為const char*,或者在屬性裡面設定符合模式為否都不好用。

再看一遍報錯,void 型別不能用來初始化char* 型別的實體,那麼只需要轉換型別就可以了,所有在分配記憶體空間時直接強制轉換成字元型指標空間。

具體為什麼在舊版本vs不報錯而在新版本報錯我也沒理解,歡迎c++大佬來**。

#define _crt_secure_no_warnings

#include#include#includeusing namespace std;

void func(char* p)

void test01() ;

func(buf);

printf("%s\n", buf);

}void printstring(char* str)

void test02()

int main()

型別初始化

最近兩天在看 net 本質論 其中提到了一型別初始化中比較關鍵的兩個方法 型別初始化器 cctor 和建構函式 ctor 建構函式不用多說,上學時就知道,但是型別初始化器我是剛剛知道,它是乙個無返回值 無引數 靜態的函式,在型別首次被載入時呼叫,接下來來看個例子 class class1 ctor ...

LARVIO 不能初始化問題

在執行過程中,發現存在一定bug,使用其他資料報時,一致不能完成動態初始化成功,最終發現 在動態對準過程中 dynamicinitializer trydyninit下面 存在乙個ddt 的量,估計作者想對對其imu和image的時間,但是其中存在一定的問題 if imu time time bou...

C 有哪幾種情況只能用初始化列表,而不能用賦值?

c 有哪幾種情況只能用初始化列表,而不能用賦值?1 對於const和reference型別成員變數,它們只能夠被初始化而不能做賦值操作,因此只能用初始化列表 初始化與賦值是不同的 賦值是刪除原值,賦予新值,建構函式的意思是先開闢空間然後為其賦值,只能算是賦值,不算初始化 初始化列表就不一樣了,開闢空...