小编Mat*_*jek的帖子

gcc或clang对此行为是否正确?

我有一个小玩具程序:

static int value = 0;

int function(int &value=value) {
    return value;
}

int main() {
    function();
}
Run Code Online (Sandbox Code Playgroud)

使用g ++ 7.2进行编译:

g ++ -std = c ++ 11 -Wall -Wextra test.cc -o test

没问题.

用clang ++编译 - 3.9:

clang ++ - 3.9 -std = c ++ 11 -Wall -Wextra test.cc -o test

test.cc:3:25: error: default argument references parameter 'value'
int function(int &value=value) {
                        ^~~~~
test.cc:8:5: error: no matching function for call to 'function'
    function();
    ^~~~~~~~
test.cc:3:5: note: candidate function not …
Run Code Online (Sandbox Code Playgroud)

c++ gcc clang language-lawyer c++11

38
推荐指数
3
解决办法
2568
查看次数

Visual Studio错误:LNK1104:无法打开文件'kernel32.lib' - 仅在WP8项目/ Win32版本中

我最近遇到了这个问题(前几天一切正常):Visual Studio 2012开始拒绝构建原生WP8项目.

今天,我从模板'Windows Phone Direct3D App(Native Only)'创建了新的解决方案,以检查我是否在WP上正确支持我新创建的DLL.我尝试编译这个项目,首先没有任何更改或额外的引用 - 由VS生成的纯代码.但是,它因给定错误而失败.我非常清楚这是什么意思,可能的原因是什么,但我无法理解,在这种情况下它来自何处.奇怪的是:这只发生在'Win32'配置中,ARM编译很好:

1>------ Build started: Project: PhoneDirect3DApp, Configuration: Debug ARM ------
.......

Build Summary
-------------
00:11.742 - Success - Debug ARM - PhoneDirect3DApp\PhoneDirect3DApp.vcxproj
Run Code Online (Sandbox Code Playgroud)

但Win32没有:

1>------ Build started: Project: PhoneDirect3DApp, Configuration: Debug Win32 ------
.......
1>LINK : fatal error LNK1104: cannot open file 'kernel32.lib'

Build Summary
-------------
00:09.725 - Failed  - Debug Win32 - PhoneDirect3DApp\PhoneDirect3DApp.vcxproj
Run Code Online (Sandbox Code Playgroud)

我的标准(本机C++/Win32)项目也按预期工作(在Win32和x64平台目标中).

项目配置:(在两个平台中)

链接::输入:

d3d11.lib;%(AdditionalDependencies)
Run Code Online (Sandbox Code Playgroud)

链接::忽略:

ole32.lib;%(IgnoreSpecificDefaultLibraries)
Run Code Online (Sandbox Code Playgroud)

VC++目录:

Microsoft.ARM.Cpp.User:

$(WP80ToolSetPath)lib\arm;$(WindowsSDK_LibraryPath_ARM);
Run Code Online (Sandbox Code Playgroud)

Microsoft.Win32.Cpp.User:

$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WP80ToolSetPath)lib\x86;$(WindowsSDK_LibraryPath_x86)
Run Code Online (Sandbox Code Playgroud)

有什么想法可能是错误的或错误配置?我的想法已经不多了,我以前从未见过这样的东西.

顺便说一句,我注意到了另一个变化:当我尝试在ARM配置中编译WP8项目时,总是出现错误,说"不支持在桌面上构建ARM应用程序"(或类似的东西).现在ARM编译没有问题.这是正常的吗?

c++ linker-errors visual-studio-2012 windows-phone-8 windows-phone-8-sdk

6
推荐指数
1
解决办法
3万
查看次数

在Visual Studio中添加对C++项目的引用有什么影响?

我已经使用Visual Studio很长一段时间了,主要是为C++开发.我经常需要创建包含多个模块(项目)的解决方案 - 例如实用程序库,它由几个.dll文件组成.

当需要一个模块(A)使用另一个模块(B)时,有以下标准模式:

  1. 包括所需的标题.
  2. 链接B中的输出库文件(例如,在VS中:项目配置 - > Linker- > Input- > Additional Dependencies- > 'B.lib').
  3. [可选]设置正确的构建顺序(因此B在A之前构建).

最近,我开始玩弄C#,因为我决定开发一些基于GUI的工具,我的引擎与它(这是很多更简单,比使用C++和外部库的Qt一样wxWidgets的或).我了解到,在C#中,使用'References'设置了这样的依赖:

在此输入图像描述

当我发现时,我很惊讶这个选项也适用于C++项目!

实际上,在我创建示例解决方案并以这种方式设置依赖关系后,一切都运行正常,没有任何其他配置,如"链接器输入"或其他东西.

我的问题是:什么究竟该选项为C++项目呢?我对所有利润和潜在的权衡感兴趣.

我已经知道,它导致其他项目的链接输出设置为依赖项.还要别的吗?也许参考模块之间有一些运行时依赖?它如何影响生成的输出?

c++ project-reference visual-studio visual-c++ visual-studio-2012

6
推荐指数
1
解决办法
1954
查看次数

向python函数添加进度条

感谢对初学者的任何帮助:) 我尝试了以下但不知道如何包装def Job()

import time
from progressbar import ProgressBar


pbar = ProgressBar()
def job():
        Script ....
        Script ...
        Script ...
        Script ...
Run Code Online (Sandbox Code Playgroud)

python progress-bar

4
推荐指数
2
解决办法
2万
查看次数

友情功能如何在内部实施

我们都在C++中使用了全局级别以及类级别的友元函数.我试图在互联网上搜索内部朋友功能是如何实现的.

"friend"关键字做了什么操作.例如,我们知道如何在内部实现v-ptr和v-table,我正在寻找同样的答案.

请注意: 这个问题与朋友功能或朋友功能的使用无关.

c++ compiler-construction friend-function

3
推荐指数
1
解决办法
320
查看次数

/usr/bin/ld: 找不到 -lXext 依赖问题

我正在ghostscript我的 Ubuntu 14.04 服务器上安装。由于依赖关系,我收到 make 命令错误:

/usr/bin/ld:找不到 -lXext collect2: 错误: ld 返回 1 退出状态 make: *** [bin/gs] 错误 1

但我有图书馆:

locate libXext.so

  • /usr/lib/x86_64-linux-gnu/libXext.so.6

  • /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0

这些足够了吗,或者我需要更多的图书馆?

linux makefile ghostscript ubuntu-14.04

2
推荐指数
1
解决办法
4617
查看次数

谷歌/ bing地图api的最高分辨率

我正在使用带有比例值2的Google静态地图:示例.

我想要谷歌和冰映射更好的分辨率.我没有找到任何有关这方面的地图有用的东西.但对于谷歌地图,我找到了这个文档页面,这是非常有用的,我试图scale:4获得更好的解决方案但是在网站上写的我无法做到这一点.

请告诉我如何使用比例值4以及如何在bing map中获得更好的分辨率.提前致谢.

google-maps high-resolution bing-maps

1
推荐指数
1
解决办法
953
查看次数

C++ vector <string> segfaults

我一直在下面的代码中遇到段错误!任何人都可以解释发生了什么?

#include <iostream>
#include <sstream>
#include <string>
#include <vector>

using namespace std;

int main()
{
    string line;
    getline(cin, line, '\n');
    istringstream iss(line);
    vector<string> result;

    for(string token; getline(iss, token, ' '); )
    {
        //if(token.empty()) continue;
        result.push_back(token); // << Segfaults here
    }

    for(int i = result.size()-1; i>=0; i++)
    {
        cout << result[i] << ' ';
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ vector segmentation-fault

0
推荐指数
1
解决办法
289
查看次数

操作溢出不起作用c ++

我构建了一个映射有理数的类,我想通过标量操作溢出来实现乘法,类似于:

Rational &operator*(Rational const& a, double lambda)
{
    Rational r(a._num * lambda, a._den);
}
Run Code Online (Sandbox Code Playgroud)

_num_den是有理数的分子和分母.

当我跑步时cout << r * 45.2;,我明白了-858993460/4389064.应该注意的operator<<是,在其他情况下工作正常Rational.

它怎么可能不起作用?谢谢 :)

c++ operator-overloading

0
推荐指数
2
解决办法
92
查看次数

什么是创建列表组合的pythonic方法

我们假设我有两个列表:

list_one = [1A, 1B]
list_two = [2A]
Run Code Online (Sandbox Code Playgroud)

如何从这两个数组中获取包含单词对的列表?想象:

answer = [1A-2A, 1B-2A]
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用两个for循环来实现它但是有一种'pythonic'方式吗?

python

0
推荐指数
1
解决办法
33
查看次数

在c ++中使用map时,如何在指定范围内使用for循环

我想for在使用map时使用带迭代器的循环,并希望在不是从begin()end开始的指定范围内运行它end().我想将它用于从第3元素到第5元素的范围

c++

0
推荐指数
1
解决办法
60
查看次数