为什么 在VC中有的Win32 Application工程可以加入C++类,而有的Win32 Application工程却不认识C++类?
编译的时候出错!!
就连简单的类
class A{
A(){};
~A(){};
};H:\dec\dec.c(62) : error C2061: syntax error : identifier 'A'
H:\dec\dec.c(62) : error C2059: syntax error : ';'
H:\dec\dec.c(62) : error C2449: found '{' at file scope (missing function header?)
H:\dec\dec.c(65) : error C2059: syntax error : '}'???

解决方案 »

  1.   

    查了下MSDN,error C2449,你有类似这样的错误?第一行多了分号
    int __pascal func(void);  // extra semicolon on this line
    {                         // error detected here
      

  2.   

    相同的代码哦
    在一个工程里能通,一个不行
    我检查了一下,没有
    int __pascal func(void);  // extra semicolon on this line
    {                         // error detected here这种错误啊
    郁闷
      

  3.   

    比较烂的vc
    在win32程序中,以前是一个*.c文件,什么都不变, 改成*.cpp后,vc居然编译报很多各错误
      

  4.   

    将C改称CPP后,编译的规矩就改了。我的VS.NET的规矩是:
    后缀是.c的,按纯C的编译。
    后缀是.cpp的,按C++编译。
      

  5.   

    如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Headers,选择Not Using Precompiled headers。确定
        如果发生错误的文件原本是该工程中的,则检查该文件头部有没有#include "stdafx.h"语句,没有的话添加。
        如果还不行,也有可能是定义的类或结构体等最后忘了加分号,注意一下。
      

  6.   

    编译规则的问题
    H:\dec\dec.c(62) 你的文件是.c文件.c文件默认状态不支持类,就这么简单,你可以通过定义__cplusplus或者改变扩展名来解决问题
      

  7.   

    你的文件名是.c当然不能支持c++了,改称.cpp吧