android中的g ++和ubuntu中的g ++有什么区别?

时间:2016-03-29 20:08:32

标签: android c++ ubuntu g++

我尝试使用相同的简单代码,其中一个在Android(4.2.2)中,另一个在Ubuntu(15.04)中,但是使用类似的代码我在Ubuntu中出错。另外在Android上运行得很好,但在Ubuntu中甚至不编译。

  

在没有/ = /语法的情况下初始化并使用/()/ syntax

代码:

int i(1); /// ok
char c('a'); /// ok
float f(4.444); /// ok
double d(4.34343433434); /// ok
char* cs("stack over flow"); /// ok
char I[]("stack over flow"); /// can not initialize by g++ in Ubuntu
Android中的

(c4droid):

enter image description here

在Ubuntu中(代码块):

enter image description here

他们都使用g ++编译器

g++ (Ubuntu 4.9.2-10ubuntu13) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

enter image description here

1 个答案:

答案 0 :(得分:1)

在标准c ++中,内置数组不能用类似构造函数的调用构造。您应该使用{}括号。它与模板非常相似。非类型模板参数不能从构造函数推导出来(就像任何模板参数一样)