【发布时间】:2014-04-23 20:05:20
【问题描述】:
在 VS 2013 中我可以做到
void myFunction(vector<int> myVector)
{
// Do something with myVector
}
我可以使用以下功能:
void anotherFunction()
{
myFunction({1, 25, 33, 45, 80});
}
但如果我使用 Xcode 3.5 (GCC 4.2) 编译此代码,我会收到错误“Expected primary expression before '{' token”和“No matching function for call to anotherFunction (无效)”。
是否有一种优雅的解决方法可以让 GCC 4.2 理解我将常量向量作为函数参数传递?
【问题讨论】:
-
您需要 C++11 支持。海湾合作委员会 4.2。可能会提供一些,但可能还不够。
-
直到 GCC 4.8 才支持 C++11 的大部分内容(4.7 中部分支持)。
-
gcc.gnu.org/projects/cxx0x.html : 4.2 中不支持 C++11。
-
尝试转换为
(vector<int>){1, 25, 33, 45, 80}类型 - 注意我不确定这是 100% 正确的模板转换方法!但是我之前以同样的方式初始化structs 时看到过这个错误! -
@Rich 不,那行不通。
标签: c++ xcode function gcc vector