C 中,void代表无类型,void的三个用途:
1、返回值用void,代表无返回值
2、参数用void,代表无参数
3、函数的形参使用void*,代表接受任意数据类型的指针。
注意:
1、不能使用void声明变量,它不能代表一个真实的变量,但是用void*可以;
2、不能对void*直接解引用,需要转换为其它类型;
3、把其它类型的指针赋值给void* 不需要类型转换;
4、把void*赋值给其它类型的指针需要转换。
#pragma once
#include <iostream>
#include <string>
void func(std::string charName,void* pp)
{
std::cout << pp << std::endl;
}
int main()
{
int a;
char b;
std::cout << &a << std::endl;
std::cout << (void*) & b << std::endl; //字符指针不使用(void*) 不会打印
func("a", &a);
func("b", &b);
return 0;
}