This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMS320F2.8377万D:关于TMS320F2.8377万D中C++支持的问题

Guru**** 2044370 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/580155/ccs-tms320f28377d-a-question-on-c-support-in-tms320f28377d

部件号:TMS320F2.8377万D

工具/软件:Code Composer Studio

尊敬的C28x编译器Champs:

客户在使用TMS320F2.8377万D时对编译C++代码有疑问。

编译器版本为 ti-CGT-C2000_C2000_LTS.4.LTS<xmt-block0>2000 15.12

问题是客户何时使用 虚拟 函数,但编译器报告错误:

代码为:

int priv_func (char * recMsg)

      recMsg ="\r\nHello World!\r\n现在测试F2.8377万D打印功能! \n\0";

      scia_msg (recMsg);

 

      返回0;

}

 

结构myself_i{

      虚拟int priv_func (const char const *recMsg)=0;

};

 

Void主(void)

      字符*msg;

  构建自己_I自己;

。。。。。。。

//priv_func (msg);

 myself.priv_func (msg);

}

编译器报告的问题如下所示:我们已检查,有';'

请帮助检查和评论。

谢谢,此致,

哈迪

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我不知道问题的原因。  这是我的猜测。

    我认为有问题的源文件的扩展名为.c,而不是.cpp。  这意味着编译器希望它包含C源代码,而不是C++源代码。  不能在C文件中使用关键字virtual,只能在C++文件中使用。  如果是这种问题,一个可能的解决方法是更改文件扩展名。  有关编译器如何使用文件扩展名以及如何更改该行为的详细信息,请参阅  C2000编译器手册中的指定文件名一节

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,George;
    首先,感谢您解决这个问题。我根据您解决problem.cause问题的方法,编译器强制区分C文件(.c)和C++(.cpp),因此不能在C文件中使用关键字virtual,只能在C++文件中使用。