为什么 在VC中有的Win32 Application工程可以加入C++类,而有的Win32 Application工程却不认识C++类?SOS!!

reeching 2003-11-17 07:38:18
为什么 在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 : '}'



???
...全文
41 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
topwork 2003-11-19
  • 打赏
  • 举报
回复
你的文件名是.c当然不能支持c++了,改称.cpp吧
bluebohe 2003-11-19
  • 打赏
  • 举报
回复
改成.cpp文件就好了
bluebohe 2003-11-19
  • 打赏
  • 举报
回复
编译规则的问题
H:\dec\dec.c(62) 你的文件是.c文件.c文件默认状态不支持类,就这么简单,你可以通过定义__cplusplus或者改变扩展名来解决问题
lovenoend 2003-11-19
  • 打赏
  • 举报
回复
没遇过,关注
sxslyy 2003-11-18
  • 打赏
  • 举报
回复
如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Headers,选择Not Using Precompiled headers。确定
如果发生错误的文件原本是该工程中的,则检查该文件头部有没有#include "stdafx.h"语句,没有的话添加。
如果还不行,也有可能是定义的类或结构体等最后忘了加分号,注意一下。
yangchaobj 2003-11-17
  • 打赏
  • 举报
回复
将C改称CPP后,编译的规矩就改了。

我的VS.NET的规矩是:
后缀是.c的,按纯C的编译。
后缀是.cpp的,按C++编译。
reeching 2003-11-17
  • 打赏
  • 举报
回复
比较烂的vc
在win32程序中,以前是一个*.c文件,什么都不变, 改成*.cpp后,vc居然编译报很多各错误
reeching 2003-11-17
  • 打赏
  • 举报
回复
相同的代码哦
在一个工程里能通,一个不行
我检查了一下,没有
int __pascal func(void); // extra semicolon on this line
{ // error detected here

这种错误啊
郁闷

akiko 2003-11-17
  • 打赏
  • 举报
回复
查了下MSDN,error C2449,你有类似这样的错误?第一行多了分号
int __pascal func(void); // extra semicolon on this line
{ // error detected here

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧