visual C++中error C2352是啥意思
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了visual C++中error C2352是啥意思相关的知识,希望对你有一定的参考价值。
这个错误是:非静态成员函数的非法调用是不是你在调用类函数的时候,直接使用 类名::非静态函数名(参数) 这种方式,调用了类里面的非静态成员函数?
静态函数是类的成员。非静态函数是对象的成员。静态函数只能操作静态成员和静态函数,按这个思路找找。 参考技术A error C2352 : 非静态成员函数的非法调用 参考技术B 'class::function' : illegal call of non-static member function
The specified nonstatic member function was called in a static member function.
The following is an example of this error:
class X
public:
static void func1();
void func2();
static void func3()
func1(); // OK, calls static func1
func2(); // error, calls nonstatic func2
;
Visual Studio C++ 编译器标志:-Zm200 是啥?
【中文标题】Visual Studio C++ 编译器标志:-Zm200 是啥?【英文标题】:Visual Studio C++ compiler flag: what is -Zm200?Visual Studio C++ 编译器标志:-Zm200 是什么? 【发布时间】:2010-02-12 00:31:22 【问题描述】:我使用 Qt 进行 C++ 开发,今天我从一个 .pro 文件生成了一个 .vcproj 文件。
我注意到在 vcproj 项目属性下,Qt 将此标志添加到 C/C++ -> 命令行 -> 附加选项中
-Zm200
什么是-Zm200?
【问题讨论】:
【参考方案1】:-Zm 是指定预编译头内存限制(更多信息here)。它限制了编译器可以分配用于处理预编译头的内存量。对于 Visual C++ 2008,-Zm200 表示限制为 150 MB。
【讨论】:
这很奇怪。如果您查看 Eric 指出的文章,那篇文章说 210MB! Eric 的文章参考了 VC++ 6.0。我的链接指向 VC++ 2008。2005 有不同的数字,2010 可能仍然不同。 嘿,它的 msdn 没有人期望它们准确或有用 ^^ 根据 VC6 (msdn.microsoft.com/en-us/library/aa278580%28VS.60%29.aspx) 的文档,该数字是一个比例因子。它还提到默认限制约为 105MB。所以 200 表示 200%(因此 2x105 = 210)。如果上面 Michael 是正确的,VS2008 中的默认值必须是 75 MB。【参考方案2】:这限制了编译器的最大堆大小according to this article。所以这根本不会影响你的程序
【讨论】:
以上是关于visual C++中error C2352是啥意思的主要内容,如果未能解决你的问题,请参考以下文章
the hash for the file is not present in the specified catalog file,是啥意