问题列表 - 第42602页

C静态功能混乱

我试图只在cord_s.c文件中显示s_cord_print函数.目前,该函数在main.c中是可见/可运行的,即使它被声明为静态.

如何使s_cord_print函数对cord_s.c保密

谢谢!

s_cord.c

typedef struct s_cord{
  int x;
  int y;
  struct s_cord (*print)();
} s_cord;

void* VOID_THIS;
#define $(EL) VOID_THIS=⪙EL

static s_cord s_cord_print(){
  struct s_cord *THIS;
  THIS = VOID_THIS;
  printf("(%d,%d)\n",THIS->x,THIS->y);
  return *THIS;
}

const s_cord s_cord_default = {1,2,s_cord_print};
Run Code Online (Sandbox Code Playgroud)

main.c中

#include <stdio.h>
#include <stdlib.h>

#include "s_cord.c"

int main(){
  s_cord mycord = s_cord_default;
  mycord.x = 2;
  mycord.y = 3;
  $(mycord).print().print();
  //static didn't seem to hide the function
  s_cord_print();
  return 0;
} …
Run Code Online (Sandbox Code Playgroud)

c

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

限制更新列

是否可以在不使用触发器的情况下限制更新SQL中的列?如果是这样的话?(需要查询)


PS:

我的意思是,我有一张桌子

CREATE TABLE MYBUDGET.tbl_Income
(
    [IncomeID]          INT             NOT NULL IDENTITY(1,1),
    [IncomeCatID]       INT             NOT NULL,
    [IncomeAmnt]        MONEY           NOT NULL,
    [IncomeCurrencyID]  INT             NOT NULL,
    [ExchangeRateID]    INT             NOT NULL,
    [IncomeAmnt_LKR]    MONEY           NOT NULL,
    [AddedOn]           DATETIME        NOT NULL,
    [Remark]            VARCHAR(250),
)
Run Code Online (Sandbox Code Playgroud)

我需要允许用户仅更新[ExchangeRateID][IncomeAmnt_LKR]字段.所有其他字段无法更新.只插入.

sql sql-server

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

如何删除%20

file:///home/ashu/Music/Collections/randomPicks/ipod%20on%20sep%2009/Coldplay-Sparks.mp3
Run Code Online (Sandbox Code Playgroud)

如何转换像上面的字符串,以获得我可以传递给的普通文件路径

file:///home/ashu/Music/Collections/randomPicks/ipod%20on%20sep%2009/Coldplay-Sparks.mp3
Run Code Online (Sandbox Code Playgroud)

python filepath

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

有没有办法为样式属性使用样式设置器?

编辑: 在原始问题中,我对如何设置器工作做了一些错误的假设,所以我修改它以希望更准确和有用.

我试图让一些菜单项更有趣,如果鼠标不在项目上方,图标显示为半透明.如果鼠标进入,则应该将图标设置为动画以使其完全可见.动画工作,Storyboard.TargetProperty允许直接访问图标的不透明属性:

<Style x:Key="MenuItemMouseOverStyle" TargetType="MenuItem">
    <Style.Triggers>
        <EventTrigger RoutedEvent="MouseEnter">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Icon.Opacity">
                        <EasingDoubleKeyFrame KeyTime="0" Value="0.5"/>
                        <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="1"/>
                    </DoubleAnimationUsingKeyFrames>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
        <EventTrigger RoutedEvent="MouseLeave">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Icon.Opacity">
                        <EasingDoubleKeyFrame KeyTime="0" Value="1"/>
                        <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="0.5"/>
                    </DoubleAnimationUsingKeyFrames>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用setter作为初始图标不透明度,代码将无法编译:

<Setter Property="Icon.Opacity" Value="0.5"/>
Run Code Online (Sandbox Code Playgroud)

编辑: Setter不按照我尝试使用它们的方式工作,你无法访问属性的属性(参见答案)你唯一能做的就是如果尚未设置样式的目标类型,则指定目标类,如下样式应该是等价的:

<Style x:Key="Style1" TargetType="Image">
    <Setter Property="Opacity" Value="0.5"/>
</Style>
<Style x:Key="Style2">
    <Setter Property="Image.Opacity" Value="0.5"/>
</Style>
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,是否有办法让它以某种方式与setter一起工作.

(我目前的解决方案是一个单关键帧故事板,由Loaded事件触发,效果很好)

wpf xaml controls styles

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

移动没有边框的窗口

如何移动没有边框的窗口.应用程序上没有空白区域,所有可用的内容都是webbrowser和menustrip.我希望用户能够通过拖动菜单条来移动窗口.我该如何编码呢?我尝试了一些我在网上找到的代码块,但都没有.

c# move menustrip borderless

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

哪些Scala功能是使用反射在内部实现的?

众所周知,结构类型是通过反射实现的.是否有任何其他语言结构使用反射?

reflection scala

18
推荐指数
4
解决办法
927
查看次数

Haskell中快速随机生成器的不错选择

我有一个用例,我想测试某个赌博游戏的程序.我需要的随机数应该在一个非常小的区域(1到9),并且不需要真正的质量.我发现,Haskell的标准生成器对我来说太慢了,所以任何人都有更好的想法吗?

random haskell

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

php file_put_contents功能不起作用

为什么file_put_contents拒绝为以下代码工作?

$f = file_put_contents("files/r.js", "Some text here");

if ($f) print 1;
else print 0;
Run Code Online (Sandbox Code Playgroud)

php file-upload file

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

快速:设置int的前2位

这实际上对谷歌来说相当棘手.

你如何设置(按位或)32位int的前两位?

我从我尝试的所有内容中收到编译器警告.

c# int bit-manipulation

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

拥有一个字符串的@里面 - PHP

所以我知道你使用反斜杠来逃避php中的大多数事情,但@符号是一个抑制错误消息的运算符.

我试图将一个像这样的电子邮件字符串放在数组"myname@gmail.com"中,但是php会抛出错误.

你怎么逃避@符号?

编辑:这是抛出错误的代码示例:

$arr = array(3=> "usertest3@gmail.com",4=> "testingagain@msn.com");
Run Code Online (Sandbox Code Playgroud)

但是用单引号替换双引号可以修复下面回答的错误....为什么这是真的?

php escaping

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