5 个解决方案
#1
显示“"error LNK2019: 无法解析的外部符号 该符号在函数 中被引用" 错误。
#2
静态全局函数仅在本CPP中有效,去掉static修饰,此外,把函数声明写到头文件里,要使用该函数的CPP包含此头文件
#3
我是自己写了一个类似于MessageBox的窗体,负责消息提示。就是不想每次调用之前都实例化一次。函数声明是写在.h里面的,用到这个消息提示功能的文件,也加过头文件了,这个没问题。因为我还有其他的小的函数也要这么实现,例如矩阵的计算,转换等等。次次都实例化太麻烦了。。。。
我中午又查阅了其他资料,有一种说法是:用全局函数包装静态方法。请问这个是怎么实现的呢?版主方便写几行代码示意一下吗?我不太懂。谢谢版主!
#4
没学过面向过程的语言吗?
C#跟Java类似都是什么都写在类里面。
C/C++里的函数是可以独立于类存在的,就是所谓的全局函数,而static会限制其只能在本源文件里使用,不要static就行了,在另一个源文件里使用时要先声明该函数。
//A.cpp
//A.h
//B.cpp
C#跟Java类似都是什么都写在类里面。
C/C++里的函数是可以独立于类存在的,就是所谓的全局函数,而static会限制其只能在本源文件里使用,不要static就行了,在另一个源文件里使用时要先声明该函数。
//A.cpp
void fun(){
//实现
}
//A.h
void fun(); //声明
//B.cpp
#include "A.h" //引用函数声明
fun(); //调用
#5
c++和c#还是挺大差别的,函数不是对象,不存在实例化的,所以我没看懂你要哪种
#1
显示“"error LNK2019: 无法解析的外部符号 该符号在函数 中被引用" 错误。
#2
静态全局函数仅在本CPP中有效,去掉static修饰,此外,把函数声明写到头文件里,要使用该函数的CPP包含此头文件
#3
静态全局函数仅在本CPP中有效,去掉static修饰,此外,把函数声明写到头文件里,要使用该函数的CPP包含此头文件
我是自己写了一个类似于MessageBox的窗体,负责消息提示。就是不想每次调用之前都实例化一次。函数声明是写在.h里面的,用到这个消息提示功能的文件,也加过头文件了,这个没问题。因为我还有其他的小的函数也要这么实现,例如矩阵的计算,转换等等。次次都实例化太麻烦了。。。。
我中午又查阅了其他资料,有一种说法是:用全局函数包装静态方法。请问这个是怎么实现的呢?版主方便写几行代码示意一下吗?我不太懂。谢谢版主!
#4
没学过面向过程的语言吗?
C#跟Java类似都是什么都写在类里面。
C/C++里的函数是可以独立于类存在的,就是所谓的全局函数,而static会限制其只能在本源文件里使用,不要static就行了,在另一个源文件里使用时要先声明该函数。
//A.cpp
//A.h
//B.cpp
C#跟Java类似都是什么都写在类里面。
C/C++里的函数是可以独立于类存在的,就是所谓的全局函数,而static会限制其只能在本源文件里使用,不要static就行了,在另一个源文件里使用时要先声明该函数。
//A.cpp
void fun(){
//实现
}
//A.h
void fun(); //声明
//B.cpp
#include "A.h" //引用函数声明
fun(); //调用
#5
静态全局函数仅在本CPP中有效,去掉static修饰,此外,把函数声明写到头文件里,要使用该函数的CPP包含此头文件
我是自己写了一个类似于MessageBox的窗体,负责消息提示。就是不想每次调用之前都实例化一次。函数声明是写在.h里面的,用到这个消息提示功能的文件,也加过头文件了,这个没问题。因为我还有其他的小的函数也要这么实现,例如矩阵的计算,转换等等。次次都实例化太麻烦了。。。。
我中午又查阅了其他资料,有一种说法是:用全局函数包装静态方法。请问这个是怎么实现的呢?版主方便写几行代码示意一下吗?我不太懂。谢谢版主!